javascript - 如何在元素上设置计时器,以便在单击元素打开时淡出并重置计时器

标签 javascript

我有一个 cookie 弹出窗口,当页面在 5 秒后加载时我需要淡入,如果单击弹出窗口,它将打开并重置计时器。这是我到目前为止所拥有的。

function cookiePopup(){
            var $cookie_popup = $("#cookie_popup");
            words = $cookie_popup.children('p').text().split(' ').length;
            alert(words);
            $cookie_popup.fadeIn(200).delay(words*200+3000).fadeOut(function()
            {$(this).remove();
            });
            $cookie_popup.children("#cookie_close").on("click",function(){
                $cookie_popup.hide().remove;
            });
        }

最佳答案

伪代码:

var timeout = setTimeout( createPopup, 5000 );

function createPopup() {
    clearTimeout( timeout );

    // .. popup creation code ..
}

something.onclick = createPopup;

关于javascript - 如何在元素上设置计时器,以便在单击元素打开时淡出并重置计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24328699/

相关文章:

javascript - 将 Javascript 日期转换为带有时区信息的 UTC

javascript - 通过多个 AJAX 请求填充数组,然后将数组传递给另一个函数

javascript - 如何通过searilizedarray()序列化复选框值?

javascript - 检查数组是否包含另一个数组的所有元素

javascript - 为什么我不能将 save() 保存到这个 Parse.Object?

javascript - V8 垃圾回收会释放内存吗?

javascript - Animations运行完可以倒转播放吗?

javascript - 如何使用 Cloud Functions 在 Firebase 中实时同步进行子查询

javascript - Commander.js 收集多个选项总是包括默认

javascript - javascript函数中的单引号?