我正在编写一个基于用户输入创建倾斜d的程序。 程序询问行数并相应地产生输出。 如果用户输入5,则应生成输出:
d
d
d
d
我的实际输出是:
d
d
d
d
这是我的Javascript代码:
spaceArray = [];
space = ' ';
spaceMain = ' ';
function processingFunction(rows){ //passes the input as variable rows
var spaceCounter = 0;
var counter = 0;
while (counter<rows){
while (spaceCounter<counter){
spaceMain = spaceMain + space; //adds a space before the d
spaceCounter++;
}
counter++;
spaceCounter=0;
spaceArray.push(spaceMain); //adds spaceMain to the end of spaceArray
spaceMain = ' ';
}
for (i = 0; i<rows; i++){
d = spaceArray[i]+"d<br>";
document.getElementById("outputNumber1").innerHTML += d;
}
}
当我从&#39;替换空格变量字符串时&#39;到&#39; - &#39;它似乎适用于输出:
d
-d
--d
---d
我不确定我需要更改以获得上述输出但是使用空格而不是破折号。
HTML:
<!DOCTYPE>
<html>
<head>
</head>
<style>
body{background-color: green;}
</style>
<body>
<center><h2>Slanted d</h2></center>
<h3>Input the number of rows you would like your slanted d to be in the input text box</h3>
<input type="text" id="inputNumber"></input>
<button type="button" onclick="processingFunction(document.getElementById('inputNumber').value)">Create slanted d</button>
<br><br>
<output type="text" id="outputNumber1"></output>
<script src="slantedDJS.js"></script>
</body>
</html>
答案 0 :(得分:7)
代替空格使用html代码
,您的代码将开始工作,因为默认情况下,无论您提供多少,浏览器都只接受一个空格。
例如:
space = ' ';
答案 1 :(得分:2)
默认情况下,浏览器会将所有空格“折叠”为一个空格。
一种解决方案是使用<pre>
元素代替输出。像这样:
<pre type="text" id="outputNumber1"></pre>
<pre>
显示预格式化的文字。因此显示输出时保留所有空格和换行符。
如果您不想更改元素类型,可以将CSS声明white-space:pre
添加到元素中,以获得与上面相同的结果。像这样:
<output type="text" id="outputNumber1" style="white-space:pre;"></output>
或者您可以在<style>
块中单独设置,如下所示:
<style>
body{background-color: green;}
#outputNumber1{white-space:pre;}
</style>
答案 2 :(得分:1)
你可以使用 
代表不间断的空格用html语言。
答案 3 :(得分:1)
使用nbsp
这为你的html添加一个不间断的空间。