javascript - JavaScript 中的楼梯模式

标签 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

最佳答案

您可以为您的 #panel8 元素指定以下内容,以允许非   字符也允许多个空格:

#panel8 {
    white-space: pre;
}

您可以read here这是做什么的,引用:

This value prevents user agents from collapsing sequences of white space. Lines are only broken at preserved newline characters.

基本上 HTML 会折叠空白字符 ("") 以创建一个空格,如果您使用   您可以克服此问题,但通常会创建更丑陋的代码(因为您'您必须始终将 " " 附加到您的字符串中)。

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

附注不是 JS 不起作用,而是 HTML 或 HTML 解析器折叠了空白。

关于javascript - JavaScript 中的楼梯模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34511743/

相关文章:

javascript - JavaScript对象未销毁?

html - Fitgrid - 在列的边缘添加边框

javascript - 使用 JavaScript 跟踪 Google Adsense 点击

javascript - 如何在 ReactJS 中集成普通(普通)JavaScript?

javascript - JS测量ajax完成时间

python - 如何通过 render_template 将渲染图传递给 html 文件?

javascript - 无法使用 jQuery load() 将 php 结果加载到 div

html - 使用 HTML5 视频标签播放本地(硬盘)视频文件?

javascript - 使图像大小相同,并且不会失真

javascript - 使用 webRTC 在两个对等点之间创建和使用数据通道