我正在调用一个函数onclick secVar(sec1);
,它应该通过下面的脚本运行它,但它似乎没有这样做,有人可以告诉我我做错了什么。我是javascript的新手,只对脚本有一点经验,而且这段代码似乎越来越少,我想要它。
<script type="text/javascript">
var sec1=0;
var sec2=0;
var sec3=0;
function secVar(){
if(sec1) {
sec1++;
document.getElementById('sec1text').innerHTML = sec1;
}
if(sec2) {
sec2++;
document.getElementById('sec2text').innerHTML = sec2;
}
if(sec3) {
sec3++;
document.getElementById('sec3text').innerHTML = sec3;
}
}
function largestVar(){
if (sec1 >= sec2 && sec1 >= sec3) {
//a
document.getElementById('rig').innerHTML = 'Test1';
} else if (sec2 >= sec1 && sec2 >= sec3) {
//b
document.getElementById('rig').innerHTML = 'Test2';
} else {
//c
document.getElementById('rig').innerHTML = 'Test3';
}
}
</script>
如果这有帮助,在我尝试添加脚本以确定最大的变量之前,旧代码是下面的代码。它正在增加变量onclick,但不再如此。 onclick在那时包含sec1Var()
。
<script type="text/javascript">
var sec1=0;
var sec2=0;
var sec3=0;
function sec1Var(){
sec1++;
document.getElementById('sec1text').innerHTML = sec1;
}
function sec2Var(){
sec2++;
document.getElementById('sec2text').innerHTML = sec2;
}
function sec3Var(){
sec3++;
document.getElementById('sec3text').innerHTML = sec3;
}</script>
如果有人能向我解释我做错了什么,我会非常感激。
答案 0 :(得分:1)
我认为很难说出你的意图。 Sparticus正确 IF 你要做的是查看sec1,2和3当前是真还是假(0或1)。由于它们目前是假的,因此代码永远不会像Sparticus正确指出的那样做任何事情。
但是,我不相信这实际上是你的意思。看起来你要检查的条件是你是否试图增加sec1,2或3.换句话说,“如果你传递给我sec1,增加它并更新一段HTML”。
但是变量不能那样工作。当你说secVar(sec1)
你实际上说的是'secVar(0)'。我不认为这是你的意图。
所以,如果我错了,浪费我的时间,但因为我已经开始了,我们假装我是对的:
secVar需要能够接受一个参数,但是现在你已经声明它是无效的。更改它以接受参数是第一步:
function secVar(param) { ... };
但这仍然无能为力。因为当你仍然使用现有语法传递“0”时。你需要传递一些可以检查的东西,比如字符串:
secVar('sec1');
执行此操作时,您现在可以更新条件以检查传递的字符串
if (param === 'sec1') { ... }
这是一个小提琴:http://jsfiddle.net/ch4yk/
备注:强>
答案 1 :(得分:0)
在此实施中,您的所有计数器都不会增加。
当secVar()运行时,所有计数器都为零。它们永远不会增加,因为它们从零开始。