1

我正在写 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');
}


});

});

4

3 回答 3

1

你的 if 条件被打破了。你有:

else if (daysSinceLastAccident >=730<=183 

当你应该有类似的东西时

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

您需要全部更改它们,并注意比较的方向。你不会找到太多的> 730东西<= 183

于 2013-10-09T02:47:56.177 回答
1

这实际上没有任何意义:

else if (daysSinceLastAccident >=730<=183

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

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

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

于 2013-10-09T02:49:52.670 回答
0

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

于 2013-10-09T02:48:14.417 回答