使用mouseenter的Jquery popUp菜单然后将mouseleave fadeOut与延迟绑定

时间:2012-12-01 20:01:12

标签: jquery bind

我有一些DIV通过单击另一个DIV触发器元素淡入。我不能想出一个脚本:

  • 鼠标离开 - 淡出 DIV有一些延迟(前500毫秒),但如果在执行500毫秒之前再次将鼠标悬停在其上 - 重新获得元素可见性。< / LI>

感谢您的任何建议。

1 个答案:

答案 0 :(得分:2)

这个为你做这个!

这是JS Fiddle的演示:http://jsfiddle.net/bCCnB/

$('#divid').mouseout(function() {
    var timeout = window.setTimeout(function() {
        $(this).hide();
    }.bind(this), 500);
    $(this).data('timeout', timeout);
});

$('#divid').mouseover(function() {
    var timeout = $(this).data('timeout');
    if (timeout) {
        window.clearInterval(timeout);
        $(this).data('timeout', null);
    }
});