您好我编写了一些javascript代码,用于在5个问题上对用户进行测验,然后在理论上输出他们的分数。据我所知,问题得分,我无法弄清楚如何输出响应。我没有问题获取正确的HTML元素并显示它们。我相信问题出在window.onload函数的循环元素中。代码如下,
<script type="text/javascript">
var rand = 0;
var right = 0;
window.onload = function () {
reset();
Rrand();
var rangQ = document.getElementById('area').getElementsByClassName('divide');
correct = document.getElementsByTagName('a'), i = 0;
for (i; i < correct.length; i++) {
if (correct[i].className == 'correct') {
correct[i].onclick = function () {
right++;
reset();
Rrand();
}
}
else if (correct[i].className != 'correct') {
correct[i].onclick = function () {
right--;
reset();
Rrand();
}
}
}
}
function Rrand() {
var rangQ = document.getElementById('area').getElementsByClassName('divide');
rangQ[rand].style.display = '';
rand++;
}
function reset() {
var rangQ = document.getElementById('area').getElementsByClassName('divide');
for (var i = 0; i < rangQ.length; i++) {
rangQ[i].style.display = 'none';
}
}
document.write(right);
</script>
答案 0 :(得分:0)
window.onload不会立即执行。你正在写输出,但在此之后改变了右边的变量。 你需要移动线
document.write(right);
进入window.onload作为最后一行(或循环之后)或找出最适合你的方式