Javascript addEventListener取决于设置超时

Javascript addEventListener取决于设置超时,javascript,settimeout,addeventlistener,Javascript,Settimeout,Addeventlistener,如何在setTimeout之后使用addEventListener调用函数?下面是一个代码示例: xyz = setTimeout(function () { [...blabla function...] // *(↓) if (window.addEventListener) { window.addEventListener('load', blabla, false); } else { window.attachEvent

如何在setTimeout之后使用addEventListener调用函数?下面是一个代码示例:

xyz = setTimeout(function () {
    [...blabla function...]
    // *(↓)
    if (window.addEventListener) {
        window.addEventListener('load', blabla, false);
    } else {
        window.attachEvent('onload', blabla);
    }
}, 3000);

*(→): addEventListener在页面加载时调用函数,但他应该仅在setTimeout为3s后调用“blabla”函数。因此,如何解决此问题?

如果要在加载窗口后3秒调用函数,应将
setTimeout
调用放入处理程序:

function delayed_blah() {
    setTimeout(blabla, 3000);
}

if (window.addEventListener) {
    window.addEventListener('load', delayed_blah, false);
} else {
    window.attachEvent('onload', delayed_blah);
对于您的应用程序,您要做的是从动画回调调用
decrypt()
函数:

$('#dlbox').animate({
    'top': '0'
}, 1000, decrypt);

如果要在加载窗口3秒后调用函数,应将
setTimeout
调用放入处理程序:

function delayed_blah() {
    setTimeout(blabla, 3000);
}

if (window.addEventListener) {
    window.addEventListener('load', delayed_blah, false);
} else {
    window.attachEvent('onload', delayed_blah);
对于您的应用程序,您要做的是从动画回调调用
decrypt()
函数:

$('#dlbox').animate({
    'top': '0'
}, 1000, decrypt);

由于延迟,即使在连接事件处理程序之前,“加载”事件也可能已经触发

也许这会有帮助

function blahblah(){
}
window.addEventListener("DOMContentLoaded",function(){
      setTimeout(blahblah,3000);
});
由于延迟,即使在附加事件处理程序之前,“load”事件也可能已经触发

也许这会有帮助

function blahblah(){
}
window.addEventListener("DOMContentLoaded",function(){
      setTimeout(blahblah,3000);
});

您可以使用jquery来实现任何您需要的功能。 在这种情况下,当页面完全加载时调用setTimeOut函数

 $(function () {
        setTimeout(function () {
            blabla();
        }, 3000);
    });

您可以使用jquery来实现任何您需要的功能。 在这种情况下,当页面完全加载时调用setTimeOut函数

 $(function () {
        setTimeout(function () {
            blabla();
        }, 3000);
    });

通过触发已为其添加侦听器的事件,您可以使用
addEventListener
调用函数。现在还不清楚您在此处尝试实现什么。请明确说明您期望发生什么。不确定您在此处尝试执行什么操作。首次加载窗口时会触发窗口的加载事件。为什么需要添加句柄3秒后事件的r?事件不会再次触发。通过触发已为其添加侦听器的事件,您可以使用
addEventListener
调用函数。现在还不清楚您试图在此处实现什么。请明确说明您期望发生什么。不确定您在此处尝试执行什么操作。窗口的加载事件f第一次加载窗口时发生ires。为什么需要在3秒后为事件添加处理程序?事件不会再次触发。如果希望在覆盖淡入后发生某些事情,请将其放入
fadeIn
回调函数中。窗口加载事件与此有何关系?但您希望超时在f之后开始adeIn完成了,对吗?所以在那里调用
setTimeout
。不,当你在图像上单击3s时,他开始超时。如果你在图像上单击3s,他将在覆盖层中淡入紫色“框”。当他淡入淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出fadeIn完成了,对吗?所以在那里调用
setTimeout
。不,当你在图像上单击3s时,他开始超时。如果你在图像上单击3s,他将用紫色的“框”淡入覆盖层。当他淡入时,他应该运行解密文本效果。然后在图像上单击3s后,在启动fadeIn的代码中执行此操作。