javascript
  • html
  • 2013-02-18 45 views -1 likes 
    -1
    <html> 
    <head> 
    <title>DIsplaying triangle /square</title> 
    
    <script type="text/javascript"> 
    document.write("<html><body><p style='line-height:100%;>"); 
    var sides=prompt("Enter the number of sides","3/4"); 
    if(sides==4) 
    { 
        var i=0; 
    
        var j=0; 
        var z=0; 
        while(i<=6) 
        { 
         if(i==0||i==6) 
         { 
          while(j<=6) 
          { 
           document.write("*");  
           document.write("<span style='visibility:hidden'>*</span>"); 
           ++j; 
          } 
          j=0; 
          document.write("<br\>"); 
         } 
         else 
         { 
          while(z<=6) 
          { 
           if(z==0||z==6) 
           { 
            document.write("*"); 
            document.write("<span style='visibility:hidden'>*</span>"); 
           } 
           else 
           { 
            document.write("<span style='visibility:hidden'>*</span>"); 
            document.write("<span style='visibility:hidden'>*</span>"); 
           } 
           ++z; 
          } 
          z=0; 
          document.write("<br\>"); 
         } 
         ++i; 
        } 
        document.write("</p></body></html>"); 
    } 
    else 
    { 
        var i=0; 
    } 
    </script> 
    </head> 
    </html> 
    

    當我在提示框中輸入4輸出應該是:此HTML代碼讓我瘋了

    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    

    (認爲這是一個完美的正方形它很難在這裏畫吧。)

    ,但我得到:

    ** * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    * * * * * * * 
    

    看第一行。它有兩個「*」在一起。根據代碼,它不應該發生。 document.write("*")部分出現問題。當我嘗試使用alert進行調試時,我發現第一次(即當i = 0時)第一個document.write("*")被忽略。但是每隔一段時間它都會被考慮。

    +6

    我唯一能說的是:不要使用'document.write'。 – 2013-02-18 13:37:37

    +0

    爲什麼???這是什麼錯? – Nikhil 2013-02-18 13:43:17

    +2

    'document.write(「 ...... ** ** **'''必須*導致無效標記。看看你的DOM檢查器,看看出了什麼問題。 – Bergi 2013-02-18 13:43:57

    回答

    0

    檢查了這一點:http://jsbin.com/efehiv/1/edit

    這行看起來對我不好:

    document.write("<html><body><p style='line-height:100%;>"); 
    
    +0

    如果我刪除該行,行間的間距會發生變化,並且它不會給出一個完美的正方形。那就是說,放置該行並將行高設置爲100%,即100%的字體大小(即等於字體大小..) – Nikhil 2013-02-18 13:50:37

    0

    尼基爾,你有沒有關閉你的風格...開始單引號,用分號結束。重寫爲

    document.write("<html><body><p style=\"line-height:100%;\">"); 
    

    如果您覺得段落標記是必要的,那麼您可以保留它,但這不是必需的。它目前正在搞亂你的網頁的其餘部分。

    相關問題