![](/img/trans.png)
[英]How immediately invoked function expression (iife) work as an argument to setTimeout
[英]Immediately invoked function expression for setTimeout doesn't work
我試圖將setTimeout包裝在立即調用的函數表達式中,該表達式創建函數,然后如上所述再次調用自身,並自動啟動循環:
參考如下: 在此處輸入鏈接描述
由於某種原因,它只運行一次然后停止。
//Spaceship move
function spaceShipMove(spaceShipToMove){
var randomY = Math.floor(Math.random());
spaceShipToMove.style.webkitTransform = 'translate(-3000px, ' + randomY + 'px)';
}
//Spaceship
var spaceShipsList = createMultipleSpaceShips(500);
for (var i = 0; i < spaceShipsList.length; i++){
var aSpaceShip = spaceShipsList[i];
app.dom.mainWrapper.appendChild(aSpaceShip);
(function t() {
setTimeout(function (spaceShipGo) {
spaceShipMove(spaceShipGo);
}, i * 300, aSpaceShip)
})();
嘗試這個
for (var i = 0; i < spaceShipsList.length; i++){
var aSpaceShip = spaceShipsList[i];
app.dom.mainWrapper.appendChild(aSpaceShip);
setTimeout(spaceShipMove.bind(null, aSpaceShip), i * 300)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.