我已经重新编写了我的代码以获得更高效的代码,并且它没有确定最大的变量,它只是将它设置为现在运行的第一个变量。它还停止将变量值插入到我设置的测试范围中。
http://www.sprayfoamsys.com/cmsdev/index.php?page=rig-constructor
<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;
}
largest = Math.max(sec1, sec2, sec3);
if (largest === sec1) {
//a
} else if (largest === sec2) {
//b
} else if (largest === sec3) {
//c
}
switch (largest) {
case sec1:
document.getElementById('rig').innerHTML = 'Test1';
break;
case sec2:
document.getElementById('rig').innerHTML = 'Test2';
break;
case sec3:
document.getElementById('rig').innerHTML = 'Test3';
break;
}
}
</script>
问题包含secVar(sec1);
,secVar(sec2);
,secVar(sec3);
,具体取决于他们回答的问题。
我之前的代码如下所示。但仍未正确确定最大变量。
<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;
}
largest = Math.max(sec1, sec2, sec3);
function largestVar(){
if (largest === sec1) {
//a
} else if (largest === sec2) {
//b
} else if (largest === sec3) {
//c
}
switch (largest) {
case sec1:
document.getElementById('rig').innerHTML = 'Test1';
break;
case sec2:
document.getElementById('rig').innerHTML = 'Test2';
break;
case sec3:
document.getElementById('rig').innerHTML = 'Test3';
break;
}
}
</script>
是什么导致它不起作用?
答案 0 :(得分:1)
(我碰巧看到过你之前关于同一主题的问题)
我认为你结合了两个不同的想法:确定最大值并确定其值最大的变量。您正在寻找以下内容:
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';
}
}