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");
        }

  

原文地址:https://www.cnblogs.com/mmzuo-798/p/5995983.html