3 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
你需要做
setTimeout(() => myMove(elem), 3000)
否則它會(huì)為任何myMove(elem)
返回設(shè)置超時(shí),這意味著myMove(elem)
立即運(yùn)行

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
所以基本上你需要這個(gè):
// Run at DOM loaded
document.addEventListener("DOMContentLoaded", function() {
console.log('DOM is loaded');
// Move
setTimeout(function(){ myMove(elem); }, 3000)
});
或者
// Run at full page load
window.addEventListener("load", function() {
console.log('Page is loaded');
// Move
setTimeout(function(){ myMove(elem); }, 3000)
});

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
目前,這些myMove方法會(huì)立即執(zhí)行。為避免這種情況,您可以使用 ES6 中支持的箭頭函數(shù)或移動(dòng)myMove到一個(gè)函數(shù)
使用箭頭函數(shù)(在 ES6 中支持):
document.getElementById('body').addEventListener(
'load',
setTimeout(() => myMove(elem), 3000),
);
轉(zhuǎn)換為函數(shù)
document.getElementById('body').addEventListener(
'load',
setTimeout(function () {
myMove(elem);
}, 3000),
);
添加回答
舉報(bào)