首先我要说的是,在谈到javascript时我不是专家,但是我已经完成了我的研究,并且无法弄清楚我的代码出了什么问题。对于我的网页,我一直在编辑一个反射相关的游戏,根据他们按下停止按钮的速度,它基本上有四种不同的警报。
这是我的代码的一部分,它将显示我的重定向页面,我目前没有被重定向到。无论你收到什么警报,都会把你带到最后一个让我想知道我哪里出错的地方。
function remark(responseTime) {
var responseString = "";
if (responseTime < 0.20) responseString = "well done!.";
window.location.href = "dfgr454.php";
if (responseTime >= 0.20 && responseTime < 0.40) responseString = "nice.";
window.location.href = "fdkjgtry5.php";
if (responseTime >= 0.40 && responseTime < 0.60) responseString = "could be better. ";
window.location.href = "dfg5654f.php";
if (responseTime >= 0.60 && responseTime < 0.80) responseString = "that's no good.";
window.location.href = "bvcb56.php";
if (responseTime >= 0.80 && responseTime < 1) responseString = "have you been drinking?";
window.location.href = "dfgf643re.php";
if (responseTime >= 1) responseString = "did you fall asleep?";
return responseString;
}
如果它有帮助(我不完全确定它会,因为它没有帮助我),当我编辑我的代码尝试window.open时,所有这些都立即打开。有没有办法阻止这种情况发生?警报很好,但我希望它们重定向到特定的window.location我正在尝试与它们配对。拜托,谢谢,任何建议都是完美的!
答案 0 :(得分:1)
正确的语法是
if(condition1) {
/* your code */
} else if(condition2) {
/* other code */
}
所以你的代码应该是这样的:
function remark(responseTime)
{
var responseString="";
if (responseTime < 0.20) {
responseString="well done!.";
window.location.href="dfgr454.php";
} else if (responseTime >= 0.20 && responseTime < 0.40) {
responseString="nice.";
window.location.href="fdkjgtry5.php";
} else if (responseTime >=0.40 && responseTime < 0.60) {
responseString="could be better. ";
window.location.href="dfg5654f.php";
} else if (responseTime >=0.60 && responseTime < 0.80) {
responseString="that's no good.";
window.location.href= "bvcb56.php";
} else if (responseTime >=0.80 && responseTime < 1) {
responseString="have you been drinking?";
window.location.href="dfgf643re.php";
} else if (responseTime >=1) {
responseString="did you fall asleep?";
}
return responseString;
}
如果您使用一个if
语句而不是else if
,则会相互独立地进行测试。因此,如果您的回复时间为< 0.2
,那么< 1
也会导致意外结果。