jq stop()和:is(":animated")用法区别
stop(true,true):
表示停止匹配元素正在进行的动画并跳转到末状态,清空未执行完的动画队列。常用于”解决光标移入移出得过快导致的动画效果与光标动作不一致“问题!
jQuery stop() 方法
jQuery stop() 方法用于停止动画或效果,在它们完成之前。
stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
语法
$(selector).stop(stopAll,goToEnd);
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
因此,默认地,stop() 会清除在被选元素上指定的当前动画。
下面的例子演示 stop() 方法,不带参数:
$("#stop").click(function(){ $("#panel").stop(); });
:is(":animated") :animated是jQ选择器 选择所有动画元素
判断元素是否处于动画状态,常用于”连续点击上/下一张按钮,只响应用户第一次点击动作“时使用。
if(!$("#lunbolist li").is(":animated")){ $("#lunbolist li").filter(".on").hide(); $("#lunbolist li").eq(currentindex).fadeIn(100).addClass("on").siblings().removeClass("on"); $(this).addClass("on").siblings().removeClass("on"); }