根据数字范围更改身体背景

时间:2018-02-18 10:32:09

标签: javascript jquery

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

感谢您的帮助:)

3 个答案:

答案 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));