为什么我的jQuery代码没有添加,后来删除了加载类?
$('#crop').click(function (ev) {
ev.preventDefault()
$.post('frame.php?action=crop', dimensions, function (json) {
$('body').addClass('loading')
picture()
}, 'json')
$('body').removeClass('loading')
})
Chrome和Firebug控制台为空,因此不应出现任何错误。 jQuery版本是1.4.4
答案 0 :(得分:4)
它的作用是删除,然后再添加该类。
您正在将回调中的类添加到$.post()
,这将在之后在后续删除该类时发生。如果您交换这些行(在$.post()
调用后添加并在回调中删除),那么它将更接近您想要的内容。
答案 1 :(得分:2)
我认为你和订单混在一起......
$('#crop').click(function (ev) {
ev.preventDefault()
$.post('frame.php?action=crop', dimensions, function (json) {
$('body').addClass('loading') // here you should remove the loading!
picture()
}, 'json')
$('body').removeClass('loading') // here you should add the loading!
})
应该是:
$('#crop').click(function (ev) {
ev.preventDefault();
$.post('frame.php?action=crop', dimensions, function (json) {
$('body').removeClass('loading');
picture();
}, 'json');
$('body').addClass('loading');
});
请注意,虽然使用分号(;
)终止您的行并非强制性,但这是最佳做法。