-1

我从 wundground 完成了我的 jQuery 天气,我只想让温度变化的颜色自动更高或更低,我使用这个代码,但我不知道如何在 jQuery 中使用 CSS。

function check(temp_c) {
      if (temp_c < 1 && temp_c > 10)
        return '';
      else if (temp_c > 11.25 && temp_c < 33.75) {
        return '';
      } else if (temp_c > 33.75 && temp_c < 56.25) {
        return '';
      } else if (temp_c > 56.25 && temp_c < 78.75) {
        return '';
      } else if (temp_c > 78.75 && temp_c < 101.25) {
        return '';
      } else if (temp_c > 101.25 && temp_c < 123.75) {
        return '';
      } else if (temp_c > 123.75 && temp_c < 146.25) {
        return '';
      } else if (temp_c > 146.25 && temp_c < 191.25) {
        return '';
      } else if (temp_c > 191.25 && temp_c < 213.75) {
        return '';
      } else if (temp_c > 213.75 && temp_c < 236.25) {
        return '';
      } else if (temp_c > 236.25 && temp_c < 258.75) {
        return '';
      } else if (temp_c > 258.75 && temp_c < 281.25) {
        return '';
      } else if (temp_c > 281.25 && temp_c < 303.75) {
        return '';
      } else if (temp_c > 303.75 && temp_c < 326.25) {
        return '';
      } else {
        return '';
      }
    }


var temp_c = data.current_observation.temp_c ;
var temperature = check(temp_c );
4

1 回答 1

3

您可以通过检查温度的上限并让控制通过每个条件来设置最大值来简化代码。像这样的东西:

function check(temp) {
    temp = parseFloat(temp);
    var tempClass = 'gt326'; // default class for > 326        
    if (temp < 326.25) tempClass = 'lt326'; 
    if (temp < 303.75) tempClass = 'lt303';
    if (temp < 281.25) tempClass = 'lt281';
    // and so on...

    return tempClass;
}

从那里您可以使用以下addClass()方法设置返回的类:

var temp_c = data.current_observation.temp_c ;
var tempClass = check(temp_c);
$('#myElement').addClass(tempClass);

工作示例

于 2016-04-06T09:04:25.830 回答