我希望我的 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/