可以临时设置jQuery元素的属性,让其他函数知道该元素发生了什么吗?
例如:
=>其中一个动画将失败并搞砸css :(
所以也许最好在动画正在运行时设置该元素的属性,如el.animating = true
;通过这种方式,其他功能可以知道发生了什么并停止......
答案 0 :(得分:4)
在运行动画之前,您可以使用animated-selector
[docs]来测试元素当前是否正在设置动画:
if( !$(this).is(':animated') ) {
$(this).animate({/*...*/});
}
答案 1 :(得分:3)
我认为你有两种可能性:
addClass
[docs],removeClass
[docs],hasClass
[docs]。.data()
[docs]将任意数据与元素相关联。 你可以设置jQuery对象的属性,但是这只有在你将引用保留到这个特定实例时才有效。每次将选择器传递给$()
时,都会得到 new jQuery对象。因此像:
$('div').foo = "bar";
alert($('div').foo);
没有工作。
答案 2 :(得分:1)
你的意思是使用.data?这正是它的目的。要获得临时数据,您可以从代码的其他部分访问,而不会弄乱全局变量