2011-07-14 76 views
1

這是我試圖製作的一個有趣的小腳本。使用另一個陣列中的隨機顏色從陣列中閃現單詞。 (我主要想着有一個移動bg類型的交易。)javascript隨機閃動字

我有問題創建某種循環,導致單詞「閃爍/更改」到目前爲止它所做的只是頁面重新加載。

* * 嗯,我所以現在改變了它,它僅僅是一個功能...和它的作品!但它似乎使用瀏覽器的內存或東西和崩潰....哎呀...有清晰的內存或JavaScript的東西,我應該使用??

<html> 

<head> 
<style> 

body 

{ 
    color:black; 
} 

#quotes 
    { 

    } 
</style> 

</head> 

<body> 

<script type="text/javascript"> 

function showQuote() 
{ 

pickWords = 

[ 
    "Hi!", 
    "Welcome!", 
    "Hello!" 
] 

var word22 = pickWords[Math.floor(Math.random()*pickWords.length)]; 


pickColors = 

[ 
    "#aa2233", 
    "#00cc44", 
    "#F342AA" 
] 

var Color22 = pickColors[Math.floor(Math.random()*pickColors.length)]; 


var Top22 = (Math.floor(Math.random()*800)); 
var Left22 = (Math.floor(Math.random()*800)); 

var style33 = '<h4 style="padding-bottom:0px; padding-top:'+Top22+'px; padding-left:'+Left22+'px; font-size: 2.3em; color:'+Color22+';">'; 
var style34 = '</h4>'; 

var finWord22 = style33 + word22 + style34; 


var duration = 400; 




    document.getElementById("quotes").innerHTML=finWord22; 
setInterval('showQuote()',duration); 

} 


onload = function() 
{ 
showQuote(); 
} 



</script> 

<div id="quotes"></div> 


</body> 

回答

2

您需要在showQuote()函數內使用「pickword」。

現在,你正在選擇一個字onload,並在每個超時使用該字。

將整個代碼包裝到一個函數中,並在加載時調用該函數。

function ShowQuote(){ 
    //... 
    setTimeout(ShowQuote, duration); 
} 

ShowQuote(); 
+0

哦,我想你告訴我使用setTimeout也謝謝XD – hobbywebsite

0

你在函數中調用setinterval,因爲你應該使用settimeout。這應該幫助你與崩潰:P

+0

真棒謝謝洙很多XD – hobbywebsite