我在将延迟附加到 mouseOut 函数时遇到问题。这是 jquery 代码:
$(document).ready(function() {
$('.nav').mouseover(function() {
$('.nav').css({ left: '160px' });
});
$('.nav').mouseout(function() {
$('.nav').delay(600).css({ left: '0' });
});
});
我认为添加延迟部分就可以做到这一点......但它仍然表现得好像根本不存在一样。
建议?
编辑
建议的 setTimeout 函数有效 - 但产生了一个新问题。现在,即使仍在选定的“.nav”div 上方,也会触发此效果。
这是问题的一个jsfiddle: http://jsfiddle.net/TRL4w/
最佳答案
delay() 函数仅适用于动画。尝试:
$('.nav').mouseout(function() {
setTimeout(function(){$('.nav').css({left: '0'});}, 600)
});
来自.delay()文档:
The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.
关于javascript - jquery延迟mouseOut效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21171358/