javascript
  • html
  • 2013-02-18 52 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%;\">"); 
    

    如果您觉得段落标记是必要的,那么您可以保留它,但这不是必需的。它目前正在搞乱你的网页的其余部分。

    相关问题