多个重定向可用于多个警报

时间:2013-10-30 07:35:05

标签: javascript

首先我要说的是,在谈到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我正在尝试与它们配对。拜托,谢谢,任何建议都是完美的!

1 个答案:

答案 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也会导致意外结果。