延迟和限制JS函数

时间:2016-03-04 16:31:09

标签: javascript jquery

我有一个在鼠标离开窗口时触发的函数和事件。每当鼠标离开时,这会触发。

我想延迟这个运行,所以当这个函数不能在页面加载时运行时我们有10秒的时间。我还想限制它,所以它只在页面上发生一次。

我该怎么做?

function addEvent(obj, evt, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evt, fn, false);
    }
    else if (obj.attachEvent) {
        obj.attachEvent("on" + evt, fn);
    }
}

addEvent(document, 'mouseout', function(evt) {
    if (evt.toElement == null && evt.relatedTarget == null) {
        jQuery('.about-us-video').one().magnificPopup('open');
    }
});

1 个答案:

答案 0 :(得分:0)

您可以使用超时

setTimeout(function() {
    $(document).one('mouseleave', function() {
        $('.about-us-video').magnificPopup('open');
    });
}, 10000);