Javascript 中的收藏夹星标切换
一个很好的例子是这篇文章左侧的 SO 明星。
您可以单击它将此消息添加到您的收藏夹中,然后再次单击以删除此标志。
我已经创建了一个页面 /favorites/add/{post_id}/ 但如何在 Ajax 中处理它?
有很多事情要做:
- 确保当您单击“
- 更改图像”
- 时它起作用,如果要添加或删除标志,请更改链接。
我确信这样的东西已经存在,但我找不到它。
有什么想法吗?
A good example is the SO star on the left hand side of this post.
You can click on it to add this message in your favorite and click again to remove this flag.
I already create a page /favorites/add/{post_id}/ but how to handle that in Ajax ?
Many things to do :
- Be sure that it worked when you click
- Change the image
- Change the link if it is to add or remove the flag.
I am sure such a thing already exists, but I couldn't find it.
Any idea ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 javascript 中,您可以向 onclick 事件上的图标添加事件处理程序。
然后您只需更改 img 元素中的 src 属性即可将其更改为正确的图像。
我建议只将通知发送到服务器,它可以返回要显示的正确图像,然后您只需更新 img 元素上的 src 属性即可。
我将业务逻辑放在服务器上的原因是为了确保如果由于某种原因数据库不同步,它会显示数据库的正确结果,如果更改数据库时出现错误也是如此。
In javascript you add a event handler to the icon on the onclick event.
Then you can just change the src attribute in the img element to change it to the correct image.
I would suggest just sending the notification to the server and it can return the correct image to display, and then you just update the src attribute on the img element.
The reason I would put the business logic on the server is to ensure that if for some reason the database was out of sync, it would show the correct result of the database, which is also the case if there was an error while changing the database.
你使用什么 JavaScript 库?可能想查看 Prototype.js
what JavaScript library are you using? might wanna check out Prototype.js