Javascript/JQuery/AJAX-Else如果不起作用

Javascript/JQuery/AJAX-Else如果不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,首先,我是个初学者。我正在设法找到解决我问题的办法。基本上,我希望我的文本是基于数字的不同颜色,所以我使用了ELSE-IF语句。它是有效的,但没有,我尝试了两种不同的方法。我使用了一个API来基本显示数字(来自传感器的温度) 请参见JFiddle以获取示例,它还显示显示数字的其余代码 if(模板

首先,我是个初学者。我正在设法找到解决我问题的办法。基本上,我希望我的文本是基于数字的不同颜色,所以我使用了ELSE-IF语句。它是有效的,但没有,我尝试了两种不同的方法。我使用了一个API来基本显示数字(来自传感器的温度)

请参见JFiddle以获取示例,它还显示显示数字的其余代码

if(模板<60){
$(“#displaylr”).css(“颜色”,“#0000ff”);
}
否则如果(模板<70&&Templer>69){
$(“#displaylr”).css(“颜色”,“#FFED00”);
}否则如果(模板<69&&tempr>68){
$(“#displaylr”).css(“颜色”,“#FFFC00”);
}否则如果(模板<68&&Templer>67){
$(“#displaylr”).css(“颜色”,“#EBEE12”);
}否则如果(模板<67&&Templer>66){
$(“#displaylr”).css(“颜色”,“#CFD42C”);
}否则如果(模板<66&&Templer>65){
$(“#displaylr”).css(“颜色”,“#ABB24A”);
}else if(tempr<65&&tempr>64){
$(“#displaylr”).css(“颜色”,“#858C6C”);
}else if(tempr<64&&tempr>63){
$(“#displaylr”).css(“颜色”,“#3D41AF”);
}否则如果(模板<63&&tempr>62){
$(“#displaylr”).css(“颜色”,“#0000FD”);
}else if(模板<62&&tempr>61){
$(“#displaylr”).css(“颜色”,“#424DFF”);
}否则{
$(“#displaylr”).css(“颜色”,“dddddd”);
}

if(模板<1){
$(“#displaylr”).css(“颜色”,“#000000”);
}
否则如果(模板=69){
$(“#displaylr”).css(“颜色”,“#FFED00”);
}
否则如果(模板=68){
$(“#displaylr”).css(“颜色”,“#FFFC00”);
}
否则如果(模板=67){
$(“#displaylr”).css(“颜色”,“#EBEE12”);
}
否则如果(模板=66){
$(“#displaylr”).css(“颜色”,“#CFD42C”);
}
否则如果(模板=65){
$(“#displaylr”).css(“颜色”,“#ABB24A”);
}
else if(tempr=64){
$(“#displaylr”).css(“颜色”,“#858C6C”);
}
否则如果(模板=63){
$(“#displaylr”).css(“颜色”,“#3D41AF”);
}
否则如果(模板=62){
$(“#displaylr”).css(“颜色”,“#0000FD”);
}
else if(tempr=61){
$(“#displaylr”).css(“颜色”,“#424DFF”);
}
否则{
$(“#displaylr”).css(“颜色”,“dddddd”);
}

您的
tempr
变量是jQuery对象,而不是数字

jObject.text(var)
将返回
jObject
jObject.text()
将返回
jObject
内的文本

您需要更改代码

var templr = $("#displaylr").text(((retval.d.temp_degC * 1.8) + 32).toFixed(1));

此外,如果
语句中的条件与整数匹配,则仅在两者之间

数字
65
64
将获得
\dddddd
,但数字64.1到64.9将获得
\858C6C

如果你只想要一个介于60和70之间的蓝黄色渐变,你可以使用这个函数

function get_color(num, min_val, min_color, max_val, max_color)
{
    if (num <= min_val)
        return "rgb("+min_color.join(",")+")";
    if (num >= max_val)
        return "rgb("+max_color.join(",")+")";
    var t = (num-min_val)/(max_val-min_val);
    var color = [0,0,0];
    for (var j=0; j<3; j++)
        color[j] = Math.floor(min_color[j]*(1-t) + max_color[j]*t);
    return "rgb("+color.join(",")+")";
}

你写了“它起作用,但它不起作用”。对不起,您想显示什么内容?您不想显示的内容是什么?请使用语句。@Kirby它正在更改颜色,但不会根据数字更改…@ZakariaAcharki我如何将switch语句用于其他ifs?太棒了!我做了一些调整,但这正是我所需要的@gre_Goru如果我想要这样的梯度呢@格雷戈
var templr = $("#displaylr").text(((retval.d.temp_degC * 1.8) + 32).toFixed(1));
var templr = (retval.d.temp_degC * 1.8) + 32;
$("#displaylr").text(templr.toFixed(1));
function get_color(num, min_val, min_color, max_val, max_color)
{
    if (num <= min_val)
        return "rgb("+min_color.join(",")+")";
    if (num >= max_val)
        return "rgb("+max_color.join(",")+")";
    var t = (num-min_val)/(max_val-min_val);
    var color = [0,0,0];
    for (var j=0; j<3; j++)
        color[j] = Math.floor(min_color[j]*(1-t) + max_color[j]*t);
    return "rgb("+color.join(",")+")";
}
$("#displaylr").css("color", get_color(templr, 60, [0x00,0x00,0xFF], 70, [0xFF,0xFF,0x00]));