在javascript中的楼梯模式

时间:2015-12-29 13:07:22

标签: javascript html

Javascript中的此功能无法正常工作。但是当用C语言编写时,它可以按照需要工作。

 var patt_2 = function()
     {
       for(i=5;i>=1;i--)
       {
          for(j=1;j<i;j++)
          {
            $("#panel8").append(" ");
          }
          for(k=5;k>=i;k--)
          {
            $("#panel8").append("*");
          }
          $("#panel8").append("<br/>");
       }
    }; 

不受欢迎的输出

Undesired output

期望输出

Desired output

1 个答案:

答案 0 :(得分:3)

您可以为#panel8元素提供以下内容,以允许非&nbsp;字符也允许多个空格:

#panel8 {
    white-space: pre;
}

你可以read here这样做,引用:

  

此值可防止用户代理折叠空白序列。线条仅在保留的换行符处断开。

基本上,HTML会折叠空白字符(" ")以创建一个空格,如果您使用&nbsp;,则可以解决此问题,但一般会创建更加丑陋的代码(因为您必须附加"&nbsp;"一直到你的字符串。)

如果你的元素可以有white-space: pre;,那么这是一个干净而简单的解决方案,不需要你编辑脚本!

P.S。它不是JS,它不是工作,而是HTML或HTML解析器崩溃空白。