javascript - JS 延迟页面加载,即使它在 document.ready 中

标签 javascript jquery

我有一个元素,我希望在用户访问页面几秒钟后出现在我的页面上。为了实现这一点,我使用了一个 sleep 函数并将其放入 $(document).ready() 中。这个想法是页面将加载,然后 sleep 将开始。然而我看到的是 sleep 功能实际上延迟了页面加载。知道出了什么问题吗?

function sleep(miliseconds) {
       var currentTime = new Date().getTime();

       while (currentTime + miliseconds >= new Date().getTime()) {
       }
   }


$(document).ready(function(){   
    if ( $( ".email_tab" ).length ) {
        sleep(8000);
$(".email_tab").toggleClass("email_tab_hide").toggleClass("email_tab_appear");
}
});

最佳答案

sleep 功能会消耗您的浏览器 CPU 并将其卡住。

你想要的是:

$(document).ready(function(){   
    if ( $( ".email_tab" ).length ) {
        setTimeout(function() {
            $(".email_tab").toggleClass("email_tab_hide").toggleClass("email_tab_appear");
        }, 8000);
    }
});

您的问题可能是当文档准备好并且 email_tab 长度为零时,setTimeout 将不会运行。

关于javascript - JS 延迟页面加载,即使它在 document.ready 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376328/

相关文章:

javascript - 不同索引的多个文件上传问题

javascript - 如何从 javascript 运行 php 脚本

javascript - Bootstrap 模式 - 屏幕变黑

javascript - 如何在网站上显示相同的 HTML 5 YOUTUBE 视频两次而不加载两次?

javascript - AngularJS异步请求方法服务使用promise返回数据

javascript - 如何区分数组和数组的数组

javascript - 如何使用 jquery/javascript 替换 url?

jquery - 进行查询,但忽略给定元素的子元素,即使它们匹配

php - 检查删除是否成功消息 php ajax jquery mysql

jquery - 放入可拖动元素拖放到其他容器而不是本身?