2014-10-18 202 views
-4

我無法使用函數showCards(7)使用while循環顯示圖像以輸出HTML以顯示圖像。我相信我的問題在於JS函數的某處,但我似乎無法弄清楚。JavaScript - while循環

這個任務是創建一個黑色的插孔遊戲,雖然這第一部分應該只顯示7張卡片。

下面是HTML和JS:

<table border=0 style='margin:auto'> 
    <tr> 
     <td> 
      <form> 
       <input type="BUTTON" onClick="Javascript:alert('Dummy Link')" value="Deal > > >"> 
      </form> 
     </td> 

     <script type="text/javascript">showCards(7)</script> 

     <td> 
      <form> 
       <input type="BUTTON" onClick="Javascript:alert('Dummy Link')" value="< < < Hit Me"> 
      </form> 
     </td> 
    </tr> 
</table> 

function showCards(7) { 
    while (true) { 
     document.writeln("< IMG src='http://www.college1.com/images/cards/gbCard52.gif' width=30 height=30 >") 
     count = count + 1 
    } 
} 
+0

這是什麼問題? – 2014-10-18 22:07:37

+0

注意:在文檔的初始加載完成後使用'document.writeln()'和類似文件,包括一旦用戶可以在單元上單擊''click'',將會打開一個新的'document'文件,清除之前的所有文件現有內容。如果這不是這個意圖,請參閱「[什麼是document.write的替代方法?](http://stackoverflow.com/questions/4537963/what-are-alternatives-to-document-write)」 – 2014-10-18 22:25:39

回答

1

的問題是在while()循環您truthy。你應該修改它使用一個for()循環如下:

function showCards(arg) 
{ 
    for(var i = 0; i < arg; i++) 
    { 
     document.writeln("< IMG src='http://www.college1.com/images/cards/gbCard52.gif' width=30 height=30 >"); 
    } 
} 

注意,showCards()函數現在接受的說法,應該是要添加的卡的數量。

1

你已經做了一個無限循環,所以代碼將會一直寫出圖像標籤,直到瀏覽器停止腳本運行時間過長。

讓我們從函數聲明開始。您已經使用,你可以使用一個參數名稱中的數字7

function showCards(cardCount) { 

您使用循環,這是很好的內部計數器,但你應該初始化循環之前計數器:

var count = 0; 

你應該把循環運行,只要有更多的圖像寫出來:

while (count < cardCount) { 

所以:

function showCards(cardCount) { 
    var count = 0; 
    while (count < cardCount) { 
    document.writeln("< IMG src='http://www.college1.com/images/cards/gbCard52.gif' width=30 height=30 >"); 
    count = count + 1; 
    } 
} 

你也可以使用一個for循環做同樣的事情:

function showCards(cardCount) { 
    for (var count = 0; count < cardCount; count++) { 
    document.writeln("< IMG src='http://www.college1.com/images/cards/gbCard52.gif' width=30 height=30 >"); 
    } 
}