另一个新手问题,根植于对JS的非常浅薄的理解。
我正在构建一个小型在线多步骤表单(通过隐藏div来在单个html中制作),其中每个按钮按下增加一个具有固定数字的var:
JS:
var score = 20;
function updateScore (){
score = score + 10;
result.value = score;
}
我希望显示得分:
使用<input type="text" name="result" id="result" value="" size="" readonly>
我得到正确的值(30)。
然而,当我使用<script>document.write(result)</script>
时,我什么都没得到并使用<script>document.write(score)</script>
我得到了原始的var(20)。
当我希望var在jquery进度条中输出时,同样的问题。
如何确保它是更新的var,它显示在document.write?
中编辑:完成JS
var currentLayer = 'lp';
var score = 10;
function showLayer(lyr){
hideLayer(currentLayer);
document.getElementById(lyr).style.visibility = 'visible';
document.getElementById(lyr).style.display = 'block';
currentLayer = lyr;
}
function hideLayer(lyr){
document.getElementById(lyr).style.visibility = 'hidden';
document.getElementById(lyr).style.display = 'none'
}
function goTo(lyr){
showLayer(lyr);
score = score + 10;
resultat.value = score;
}
function goToMinus(lyr){
showLayer(lyr);
score = score - 10;
resultat.value = score;
}
$(function() {
$( "#progressbar" ).progressbar({
value: score
});
});
答案 0 :(得分:0)
结果是一个HTML输入元素,因此打印结果将是:
<script>document.write(result.value)</script>
关于写入正确的“得分”var vlaue,确保只有一个“var得分”并且它在同一范围内。
答案 1 :(得分:0)
我建议您在document.getElementById('result').value
函数中使用result.value
反对updateScore
来确保您访问正确的元素。
我添加了一个示例,其中setInterval
每秒都会调用updateScore
来说明正在更新的结果,
var score = 20;
function updateScore (){
score = score + 10;
document.getElementById("result").value = score;
}
setInterval(updateScore,1000);
这可以在以下小提琴中进行修改,