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/>");
}
};
不需要的输出
期望的输出
最佳答案
您可以为您的 #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/