javascript - 如何让 jQuery 对话框在显示之前等待?

标签 javascript jquery

我希望我的 jQuery 对话框在用户将鼠标悬停在图像上后正好显示 3 秒。目前我有:

$(".imgLi").live('hover', function() {
    showDialog();
});

function showDialog()
{
    $('#imageDialogDiv').dialog({
        modal:true
    });
}

<div id="imageDialogDiv" title="Blah">...</div>

不确定将时间代码放在哪里或如何在此处实现 jQuery 的计时器对象。如果在这 3 秒时间范围内的任何时候使用“鼠标离开”(将鼠标从图像移开),我希望显示对话框。在此先感谢您的帮助。

最佳答案

抱歉,我在 mouseout 上添加了一个 cleartimeout,所以如果用户鼠标移开它就不会执行

$(document).on('mouseenter', ".imgLi", function() {
    var t=setTimeout("showDialog()",3000);
}).on('mouseleave', ".imgLi", function() {
    clearTimeout(t);
});

function showDialog()
{
    $('#imageDialogDiv').dialog({
        modal:true
    });
}

<div id="imageDialogDiv" title="Blah">...</div>

关于javascript - 如何让 jQuery 对话框在显示之前等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239027/

相关文章:

javascript - ng-show 未正确更新

jquery - 如何使用 select 将两行合二为一?

javascript - 调用参数列表的函数

javascript - 函数内函数方法

javascript - OKTA API 中是否有一种方法可以根据 userId 列表获取用户?

php - 如何在 PHP 中实现 javascript int.toString(32)?

javascript - 当 redux 状态更新时,React 组件不更新

javascript - NodeJs 按顺序步骤调用模块

javascript - 使用 jquery 切换按钮

jQuery 不识别动态添加到页面的类