在 ajax 查询完成之前显示加载图像的好方法是什么?
现在,每次用户切换“评论(X)”时,它都会与服务器联系,
我想这样,只要用户单击“.info .reply”(评论(X)),就会出现一个ajax加载程序,直到数据加载完成,然后加载器消失。
// Replies - Toggle display of comments
$('.info .reply').click( function() {
$('.reply', this.parentNode.parentNode).toggle();
return false;
});
// Load comments
$('.info .reply', this).mousedown( function() {
var id = $('form #id', this.parentNode.parentNode).val();
$.ajax({ url: location.href, type: 'post', data: 'id=' + id, dataType: 'json',
success: function(data) {
for (var i in data) {
// Do AJAX Updates
}
}
});
return false;
});
执行此操作的正确方法是什么?
谢谢!
Right now it contacts the server every time a user toggles "Comments (X)"
I'd like to make it so as soon as a user clicks ".info .reply" (Comments (X)), an ajax loader appears just until the data is finished loading, then the loader disappears.
// Replies - Toggle display of comments
$('.info .reply').click( function() {
$('.reply', this.parentNode.parentNode).toggle();
return false;
});
// Load comments
$('.info .reply', this).mousedown( function() {
var id = $('form #id', this.parentNode.parentNode).val();
$.ajax({ url: location.href, type: 'post', data: 'id=' + id, dataType: 'json',
success: function(data) {
for (var i in data) {
// Do AJAX Updates
}
}
});
return false;
});
What's the proper way to do this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基本上
使用 show() 或 fadeIn() 或任何你喜欢的方式在鼠标按下时显示图像,然后将其隐藏在成功回调中。 像这样
Basically
Show the image on mousedown using show() or fadeIn() or whatever tickles your fancy, then hide it inside your success callback. Like this
您可以使用 jQuery BlockUI 等插件来执行此操作。只需在调用
$.ajax
之前调用$.blockUI()
即可。然后在success
事件结束时,调用$.unblockUI()
。You can use a plugin such as jQuery BlockUI to do this. Just call
$.blockUI()
before calling$.ajax
. Then at the end of thesuccess
event, call$.unblockUI()
.