2017-07-27 48 views
-1

我希望這個動畫在整個頁面持續時間內循環遍歷,但由於某些原因clearTimer沒有完成這項工作。或者我認爲循環錯誤認爲清除定時器會在函數被授予時產生循環。clearTimeout setInterval不起作用。但在其他腳本中呢?

<script> 
(function() { 
var a1; 
a1 = setTimeout(anim1,9000); 

var a2; 
a2 = setTimeout(anim2,10000); 

var a3; 
a3 = setTimeout(anim3,11000); 

var a4; 
a4 = setTimeout(anim4,12000); 

function anim1() { 
document.getElementById("tx1").animate([ 
    { transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 
} 

function anim2() { 
document.getElementById("tx2").animate([ 
{ transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 
} 

function anim3() { 
document.getElementById("tx3").animate([ 
{ transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 
} 

function anim4() { 
clearTimeout(a1); 
clearTimeout(a2); 
clearTimeout(a3); 
clearTimeout(a4); 

} 
})(); 


</script> 

我看不出有什麼問題,相同的腳本在另一個文件中運行...

我只想動畫循環基本結束。但它運行一次,然後死亡,我認爲這個問題並不是問題。 ???

+0

你能解釋一下你怎麼想的anim4功能是幹什麼的? –

回答

-1

您應該將setTimeout返回的值傳遞給clearTimeout函數。 在你的情況下,它應該是clearTimeout(a1)而不是clearTimeout(anim1)等等。

0

找到了解決辦法Allthough im仍然不確定是否正確清除計時器。但其所做的工作,所以現在必須要確定...感謝您的幫助鄉親......

繼承人的腳本..

<script> 


window.onload=function start() { 
var a1 = setTimeout(anim1,9000); 

var a2 = setTimeout(anim2,10000); 

var a3 = setTimeout(anim3,11000); 

var a4 = setTimeout(anim4,12000); 

function anim1() { 
document.getElementById("tx1").animate([ 
    { transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 

} 

function anim2() { 


document.getElementById("tx2").animate([ 
{ transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 

} 

function anim3() { 
document.getElementById("tx3").animate([ 
{ transform: "translateY(0px)"}, 
    { transform: "translateY(-10px)"}, 
    { transform: "translateY(0px)"} 
], { 
    duration: 1000, 
}) 

} 

function anim4() { 
clearTimeout("a3") 
clearTimeout("a1"); 
clearTimeout("a2"); 
clearTimeout("a4"); 
start(); 
} 

} 
</script> 
+0

我還沒有提供必要的語法I.E - >「」 - 可能與第一名有關...... – russbaker2016

相關問題