javascript - jquery延迟mouseOut效果?

标签 javascript jquery

我在将延迟附加到 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/

相关文章:

javascript - 如何在 $.Deferred.then failedFilter 回调中执行异步操作并传回成功链?

javascript - 如何沿着路径移动但仅在两个指定的路径点之间移动

javascript - 不同按钮上不同类型的验证单击

Javascript/jQuery - 动画背景随着淡入淡出而变化(无限)

javascript - 如何使用 jquery 显示/隐藏特定的多级嵌套 div?

javascript - 设置默认折叠,在 $.ig.GridExcelExporter.exportGrid 中

JQuery Sortable - 处理 IE 中的错误?

javascript - 如何将组件数据绑定(bind)到 prop 中的值

javascript - 删除粘性菜单和图像之间的空间

javascript - 如何将这个单一案例(根据下拉列表的选择显示文本字段)抽象为 jQuery 中的通用函数?