我正在为网站登录页面创建一个简单的导航.它将用户引导到客户业务的两个方面之一,并且基本上包括屏幕被分成两半,当你翻过一边时另一边淡出.
我的代码:
<div id="homeNav">
<a href="retail.html" id="retailNav">Retail</a>
<a href="residential.html" id="residentialNav">Retail</a>
<div id="retailHalf"></div>
<div id="residentialFull"></div>
<div id="retailFull"></div>
JQuery的
$('#retailNav').bind({
mouseenter: function() {
$('#residentialFull').fadeOut('slow');
},
mouseleave: function() {
$('#residentialFull').fadeIn('slow');
}
});
$('#residentialNav').bind({
mouseenter: function() {
$('#retailHalf').fadeOut('slow');
},
mouseleave: function() {
$('#retailHalf').fadeIn('slow');
}
});
这项工作正常我的问题是如果你快速地将光标左右移动两半,动画就会卡在一个循环中.我在这里发布了一个例子http://jsfiddle.net/4rUAT/
如何阻止这种不必要的影响呢?提前谢谢了.
最佳答案 您需要调用.stop()方法,或者需要检查:animated pseudo selector.
$('#retailHalf').stop(true,true).fadeOut('slow');
要么
$('#retailHalf:not(:animated)').fadeOut('slow');
来自.stop()的参数指示是否应该清除fx队列以及当前动画是否应该实际跳转到结尾.