我是JavaScript新手,正在使用基礎知識。我想要創建一個數組,其中單個元素是隨機繪製的,每次點擊一個按鈕,直到所有數組元素都顯示在屏幕上。我擁有的代碼幾乎就在那裏。但問題是,它運行時,它總是在第一次按鈕點擊時捕獲2個元素,而不是1.它對於其餘元素運行良好。當然希望對這個問題有所瞭解。謝謝。單擊一個按鈕列出數組元素,點擊一個按鈕
var myArray=['1','2','3','4','5','6','7']
var text = "";
var i;
function RandomDraw() {
for(i = 0; i < myArray.length; i+=text) {
var ri = Math.floor(Math.random() * myArray.length);
var rs = myArray.splice(ri, 1);
document.getElementById("showSplice").innerHTML = text+=rs;
//document.getElementById("showArrayList").innerHTML = myArray;
}
}
爲什麼要使用一個for循環,當你只需要1%的點擊?只需刪除for循環並添加一個'if(myArray.length> 0)' – Niels
'i + = text'是沒有意義的。 –
謝謝你的快速回應,Niels。這可能不是我正在尋找的最終答案。只需點擊一下按鈕,代碼就會隨機抓取並顯示每個元素。但是通過點擊按鈕,顯示的前一個元素將從屏幕上移除,並顯示下一個元素。我試圖讓每個元素在點擊按鈕時保留在屏幕上(直到顯示整個數組)。請多一點幫助。 – Don199