if / else语句比较数字

时间:2013-10-09 02:42:40

标签: javascript jquery html5 web

我正在写jquery,我需要改变颜色,如果超过730天...在730和183天之间......等等。如果我的if else语句有问题,它不能在我的页面上工作吗?这是所有的jquery但我只需要帮助if / else部分。我对此很新,任何帮助都很棒。

$(document).ready(function () {
'use strict';

var monthNames = [ "January", "February", "March", "April", "May", "June",
        "July", "August", "September", "October", "November", "December" ],

    dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],

    newDate = new Date();

$('#safetyRecord').hide();

$('#today').text(dayNames[newDate.getDay()] + "," + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getDate() + "," + ' ' + newDate.getFullYear());

$('#checkRecord').click(function () {

    var dateOfLastAccident = new Date($('#dateOfLastAccident').val());

    var today = new Date(),

        daysSinceLastAccident = Math.floor((today.getTime() - dateOfLastAccident.getTime()) / (25 * 60 * 60 * 1000));

    $('#daysSinceLastAccident').text(daysSinceLastAccident);

    $('#safetyRecord').show();

if (daysSinceLastAccident >= parseInt(730)){
    {
    $('#safetyRecord').addClass('great');
    }

else if (daysSinceLastAccident >=730<=183)
{
    $('#safetyRecord').addClass('good');
}

else if (daysSinceLastAccident >=183<=60) 
{
    $('#safetyRecord').addClass('.marginal');
}
else if (daysSinceLastAccident >=60<= 14) 
{
    $('#safetyRecord').addClass('.poor');
}
else (daysSinceLastAccident < 14)
{
    $('#safetyRecord').addClass('.disaster');
}


});

});

3 个答案:

答案 0 :(得分:1)

你的条件是否被打破。你有:

else if (daysSinceLastAccident >=730<=183 

什么时候应该有类似

的东西
else if ((daysSinceLastAccident < 730) && (daysSinceLastAccident>=183)) {

您需要更改它们,并观察比较的方向。您找不到多少> 730<= 183

答案 1 :(得分:1)

这没有任何意义:

else if (daysSinceLastAccident >=730<=183

如果您的第一个条件是假的,您可以直接进入下一个条件。

if (daysSinceLastAccident >= 730) {
{
    $('#safetyRecord').addClass('great');
}
else if (daysSinceLastAccident >= 183) 
{
    $('#safetyRecord').addClass('good');
}
// and so on...

您不需要任何&&逻辑,因为您的范围不重叠。

答案 2 :(得分:0)

这是不可能daysSinceLastAccident >=183<=60你的括号和大括号中有很多编码错误。顺便说一下,我希望你知道如何使用'use strict'

相关问题