我想在mouseenter上执行一次函数,然后在mouseleave上执行,我希望元素返回到它的状态。jQuery无限循环
我的代码产生一个无限循环。鼠标进入并且元素无限地翻转,直到我的鼠标离开。
$(document).ready(function() {
var flipfunc = function() {
var elem = $(this);
if (!elem.data('flipped')) {
elem.flip({
direction: 'lr',
speed: 250,
onBefore: function() {
elem.html(elem.siblings('.sponsorData').html());
}
});
elem.data('flipped', true);
elem.addClass('sponsorFlipped');
//elem.unbind('mouseenter', flipfunc);
}
else {
elem.revertFlip();
// Unsetting the flag:
elem.data('flipped', false)
//elem.unbind('mouseleave', rflipfunc);
}
}
$('.sponsorFlip').bind('mouseenter', flipfunc);
//$('.sponsorFlipped').bind('mouseleave', rflipfunc);
});
我已经尝试了许多解决办法,但我看不出问题是...
使用'hover'代替。这是它的用途。 – mrtsherman 2012-02-15 19:28:56
你可以创建一个jsfiddle吗?很难复制你正在经历的事情。 – 2012-02-15 19:35:01
@ mrtsherman我试过,但我也得到了循环。我试着把其他代码放入悬停({enter},{leave}),但我没有管理。 – Samuel 2012-02-15 19:35:48