$('a').on('click', function() {
var link = $(this);
if (!link.hasClass('animated')) {
link.addClass('animated');
// css3 animation
// callback
setTimeout(function() {
link.removeClass('animated');
}, 600);
}
}
});
我使用此代码来防止动画闪烁。在制作动画之前,它会检查动画类是否存在。我没有使用animate
功能,因为它的性能很差。
所以我明白,每次我要求对课程做点什么,我都会影响DOM。
我想知道我是否可以在link
对象上使用其他属性而不是使用类?像:
link.animated = true;
if (link.animated) {
// code
}
link.active = true;
以下列方式使用它们是否安全?我可以面对的任何问题(缓存或whatelse)?
答案 0 :(得分:1)
尝试使用.data()
代替课程
$('a').on('click', function() {
var link = $(this);
if (!link.data('animation')) {
link.data('animation', true);
// css3 animation
// callback
setTimeout(function() {
link.data('animation', false);
}, 600);
}
});
答案 1 :(得分:1)
使用data()
方法将关联数据与元素存储在一起:
var $link = $(this);
//set
$link.data({ foo: 1 });
//get
var foo = $link.data('foo');