我有一堆div,我现在已设定动画。但是我想要一种方式,如果它们已经被动画化(例如它们的宽度将从100px变为300px),当我再次点击它们时它们将不会复活。我是javascript&的新手jquery所以我不确定如何检查div元素的宽度以放置在if语句中。如果我需要发布代码我可以。感谢
答案 0 :(得分:4)
像这样:
$('selector')
.filter(function() { return $(this).width() < 300; })
.animate(...);
答案 1 :(得分:2)
您应该为要设置动画的所有元素添加一个类
<div class="animateMe something something">
content
</div>
和jQuery
$('div.animateMe').animate({animate params},duration,function(){
$(this).removeClass('animateMe');
});
这将作为一个标志,一旦动画完成,它就不会再发生在同一个元素上,无论高度和宽度如何。
<强>优势:强> 您的代码不依赖于高度/宽度参数。如果明天动画更改并且您的块动画为不同的高度/宽度,则此代码仍然有效。
animate的语法是 jQuery.animate({animation params},duration,callback);
警告:请勿使用animateMe类进行样式设置
答案 2 :(得分:0)
您可以使用:
if($(".bunch-of-divs-class").width() == something)
{
//Do Something
}