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