我正在玩simpleWeather.js,我想根据天气情况改变身体背景。此插件使用Yahoo weather codes来确定此问题。对于这个例子,我想为0-10,10-20范围设置背景图像,为其他一切设置另一个背景图像。
在处理更简单的条件时我没有遇到任何问题(如果小于25,则更改背景,如果大于25,则设置另一个)但是当我尝试添加更多时,如果是,否则它会停止工作。该插件无法加载,并且卡在加载图像上。
任何人都可以帮我解决这个问题吗? Here is the codepen我正在努力,这是我的来源:
if(weather.code > 0 && weather.code < 10) {
$('body').addClass('cloudy');
} else if(weather.code > 10 && weather.code < 20) {
$('body').addClass('stormy');
}
else {
$('body').addclass('whatever');
}
感谢您的帮助:)
答案 0 :(得分:2)
你的代码看起来很好!但你错过了大写字母。
在你的最后一个你有addclass的地方你必须使用addClass
func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {
return !(arrayOfStrings.contains(allTimeArray[indexPath.row]))
}
此代码可以正常使用
答案 1 :(得分:1)
无法重现您的问题,但我想问题就是班级;
也许您应该首先删除其他课程,然后添加您的课程以适应天气;
$('body').removeClass();
if(weather.code > 0 && weather.code < 10) {
$('body').addClass('cloudy');
} else if(weather.code > 10 && weather.code < 20) {
$('body').addClass('stormy');
}
else {
$('body').addClass('whatever');
}
答案 2 :(得分:1)
一旦你在addClass中使用了正确的大小写,你的代码似乎没问题,但是尝试这个更简单的代码 - 你可以为你要测试的每个数字重复ifs
function getBg(code) {
if (code<10) return "cloudy";
if (code<20) return "stormy";
return “whatever";
}
然后使用
$('body').addClass(getBg(weather.code));