我有一个元素,我希望在用户访问页面几秒钟后出现在我的页面上。为了实现这一点,我使用了一个 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/