Jquery 为addClass添加延迟
单击可将图元移动到浏览器窗口之外。在这个动画之后,我想向这个元素添加一个类,但不幸的是,当我单击移动图标时,新的类已经被添加了 我的代码:Jquery 为addClass添加延迟,jquery,delay,Jquery,Delay,单击可将图元移动到浏览器窗口之外。在这个动画之后,我想向这个元素添加一个类,但不幸的是,当我单击移动图标时,新的类已经被添加了 我的代码: $('#nav').click(function() { $( "#wrapper" ).animate({ marginLeft: "-80%" }, "slow" ); $( "#nav_mob" ).show(); $( "#nav_mob" ).animate({ right: "-20%" }, "slow" ); $('.content').de
$('#nav').click(function() {
$( "#wrapper" ).animate({ marginLeft: "-80%" }, "slow" );
$( "#nav_mob" ).show();
$( "#nav_mob" ).animate({ right: "-20%" }, "slow" );
$('.content').delay(2000).addClass("fixed");
})
有人能帮我吗?而不是:
$( "#nav_mob" ).animate({ right: "-20%" }, "slow" );
$('.content').delay(2000).addClass("fixed");
做:
这将利用内置在.animate中的回调,其中参数为:
包含要更改的属性的对象
动画的速度
动画完成后要调用的函数
.delay不适用于.addClass它仅适用于效果队列或自定义队列,但您可以改用setTimeout函数:
$('#nav').click(function () {
$("#wrapper").animate({
marginLeft: "-80%"
}, "slow");
$("#nav_mob").show();
$("#nav_mob").animate({
right: "-20%"
}, "slow");
setTimeout(function () {
$('.content').addClass("fixed");
}, 2000);
})
您可以在animate complete函数中编写addClass代码
$( "#nav_mob" ).animate({ right: "-20%" }, "slow",function(){
$('.content').addClass("fixed");
});
CSS转换将适合您的需要。
$( "#nav_mob" ).animate({ right: "-20%" }, "slow",function(){
$('.content').addClass("fixed");
});