2015-10-15 59 views
0

我想要在1-18範圍內生成15個隨機數併爲它們賦值。這是我的代碼。問題是,當我按下按鈕時,Javascript顯示的文本是我給出的列表中的15個隨機項目,這正是我想要的,然而,這些項目取代了「Scramble」按鈕。我希望按鈕保持不變,以便可以在不重新加載頁面的情況下生成另一個隨機列表。將值分配給javascript中的多個隨機數

<!DOCTYPE html> 
<html> 
<head> 
<title>text/javascript</title> 
<script language="javascript"> 
function myFunction() { 
document.getElementById('Scramble'); 
for (var i = 0; i < 15; i++) { 
var x = Math.floor((Math.random()*18)+1) 
if (x === 1) { 
    document.write("R ") 
}; 
if (x === 2) { 
    document.write("R' ") 
}; 
if (x === 3) { 
    document.write("R2 ") 
}; 
if (x === 4) { 
    document.write("L ") 
}; 
if (x === 5) { 
    document.write("L' ") 
}; 
if (x === 6) { 
    document.write("L2 ") 
}; 
if (x === 7) { 
    document.write("F ") 
}; 
if (x === 8) { 
    document.write("F' ") 
}; 
if (x === 9) { 
    document.write("F2 ") 
}; 
if (x === 10) { 
    document.write("B ") 
}; 
if (x === 11) { 
    document.write("B' ") 
}; 
if (x === 12) { 
    document.write("B2 ") 
}; 
if (x === 13) { 
    document.write("U ") 
}; 
if (x === 14) { 
    document.write("U' ") 
}; 
if (x === 15) { 
    document.write("U2 ") 
}; 
if (x === 16) { 
    document.write("D ") 
}; 
if (x === 17) { 
    document.write("D' ") 
}; 
if (x === 18) { 
    document.write("D2 ") 
}; 
}; 
}; 
</script> 
</head> 
<body> 
<button onclick="myFunction()">Scramble</button> 
<p id="Scramble"></p> 
</body> 
</html> 
+1

問題的根源是其實你正在使用['document.write'](http://stackoverflow.com/a/802943/791010)。 –

+1

然後直接調用'document.write(arr [x])''''''var arr = [「R」,「R'」,「R2」,...]''''。請注意,有了這個,你需要從你的'x'變量賦值中去掉'+ 1'。 –

回答

0

替換所有document.write();document.getElementById('Scramble').innerHTML= "string you want to display";

,你可以看到here

+0

w3school不被視爲可信來源。所以請不要提供w3schools的鏈接。 http://meta.stackoverflow.com/questions/280478/why-not-w3schools-com – niyasc

+0

相反,您可以使用此鏈接, https://developer.mozilla.org/en-US/docs/Web/API /元/ innerHTML的 – niyasc

0

如果您使用document.write,您將直接在文檔中編寫代碼,以便刪除以前的數據。

如果你想在#Scramble元素來寫,你用innerHtml

var Scramble = document.getElementById('Scramble'); 
Scramble.innerHtml = 'new content'; 
相關問題