我有这段代码:
if(weather.temp >= 30) {
$("body").randomClass( sunny );
$("body").addClass( 'sunny' );
randno = sunnyquotes[Math.floor( Math.random() * sunnyquotes.length )];
$('.home-main h1').text( randno );
} else if (weather.todayCode == 40||39||38||37||35||9||4||3||11) {
$("body").randomClass( rain );
$("body").addClass( 'rain' );
randno = rainquotes[Math.floor( Math.random() * rainquotes.length )];
$('.home-main h1').text( randno );
} else if ((weather.temp > 18) && (weather.temp < 30) && (weather.todayCode == 32||30||34)) {
$("body").randomClass( moderate );
$("body").addClass( 'moderate' );
randno = moderatequotes[Math.floor( Math.random() * moderatequotes.length )];
$('.home-main h1').text( randno );
} else if (weather.temp <= 18) {
$("body").randomClass( cold );
$("body").addClass( 'cold' );
randno = coldquotes[Math.floor( Math.random() * coldquotes.length )];
$('.home-main h1').text( randno );
}
我正在尝试使用雅虎天气确定天气状况。我被困在它正在检测今天的地方。
它落在第一个其他如果。我希望它只在todayCode与这些数字中的任何一个匹配时执行。否则,如果是,请转到下一个。
虽然如果我只有一个号码可以检测,但是它可以工作,例如:
else if (weather.todayCode == 40)
我检查多个数字的方式显然是错误的。
非常感谢任何帮助。
答案 0 :(得分:2)
答案 1 :(得分:0)
比较写得不正确。试试这个:
...
else if (weather.todayCode == 40 || weather.todayCode == 39 || weather.todayCode == 38) //Add more conditions as necessary
...
更好的想法是一个可以遍历有效值数组的函数 - 更具可读性,但上面的示例将解决您的直接问题。
答案 2 :(得分:0)
您也可以使用 $。inarray :
rainCode=[ 40,39,38,37,35,9,4,3,11];
if ($.inArray(weather.todayCode, rainCode) > -1)
$("body").addClass( 'rain' );