评分Javascript测验脚本

时间:2011-09-24 18:21:28

标签: javascript

您好我编写了一些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>

1 个答案:

答案 0 :(得分:0)

window.onload不会立即执行。你正在写输出,但在此之后改变了右边的变量。 你需要移动线

document.write(right);

进入window.onload作为最后一行(或循环之后)或找出最适合你的方式