我在向mouseOut函数添加延迟时遇到问题.这是jquery代码:
$(document).ready(function() {
$('.nav').mouseover(function() {
$('.nav').css({ left: '160px' });
});
$('.nav').mouseout(function() {
$('.nav').delay(600).css({ left: '0' });
});
});
Run Code Online (Sandbox Code Playgroud)
我认为添加延迟部分会做到这一点......但它仍然表现得好像根本不存在.
建议?
编辑
建议的setTimeout函数工作 - 但创建了一个新问题.即使仍然在选定的'.nav'div上,此效果现在也会触发.
这是问题的一个方面:http: //jsfiddle.net/TRL4w/
delay()函数仅适用于动画.尝试:
$('.nav').mouseout(function() {
setTimeout(function(){$('.nav').css({left: '0'});}, 600)
});
Run Code Online (Sandbox Code Playgroud)
来自.delay()文档:
.delay()方法最适合延迟排队的jQuery效果.因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例.