我做了fiddle,其想法是:
该函数采用元素(el),如果" el"在fadeIn或fadeOut中然后返回true,否则返回false。有可能吗?
function fadeIsRunning( el ){
/* How to achieve this ? */
return false || true;
}
提前致谢!
var obj = $("div");
$("#fade").on("click", function(){
obj.fadeToggle(3000);
});
$("#decision").on("click", function(){
if (fadeIsRunning(obj)) {
console.log( "Fade is running" );
}
else {
console.log( "Fade isn't running" );
}
});
function fadeIsRunning( el ){
/* How to achieve this ? */
return false || true;
}

div {
position: absolute;
margin: 20px;
padding: 35px;
background-color: #99f;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="fade" id="fade" />
<input type="button" value="decision" id="decision" />
<div>X</div>
&#13;
答案 0 :(得分:3)
您可以合并.is()
method和:animated
selector,.is(':animated')
,以确定元素是否正在积极褪色。
function fadeIsRunning( el ){
return $(el).is(':animated');
}
参考文献:
答案 1 :(得分:1)
<强> jsFiddle Demo
强>
检查jquery中的fx queue jQuery以查看元素的进度。如果它在fx队列中并且衰落,它的状态将是“inprogress”
function fadeIsRunning( el ){
return $.queue(el[0]) == "inprogress";
}