我有一个项目"智能住宅"我使用Arduino Mega和Ethernet Shield。我的问题是将数据从arduino连接到GUI网站(我是JS的初学者)。 当我按下按钮时,数据被发送到Arduino,我的按钮颜色从红色变为绿色(亮起) - >没关系。
然后,如果我打开门,我想将颜色从红色变为绿色,我不知道如何...
这是Arduino代码:
int count; // used by 'for' loops
int sw_arr[] = {30,31,32,33,34,35}; // pins interfaced to switches
for (count = 0; count < 5; count++) {
cl.print("<switch>");
if (digitalRead(sw_arr[count])) {;
cl.print("OFF");
}
else {
cl.print("ON");
}
cl.println("</switch>");
}
在我的网站上,字符串从OFF更改为ON,但我想要背景颜色更改,我认为我的问题是Javascript。
这是教程中的原始代码:
var count;
var num_an = this.responseXML.getElementsByTagName('switch').length;
for (count = 0; count < num_an; count++) {
document.getElementsByClassName("doors")[count].innerHTML =
this.responseXML.getElementsByTagName('switch')[count].childNodes[0].nodeValue;
}
我更改了此代码,但仍无效:
var count;
var num_an = this.responseXML.getElementsByTagName('switch').length;
for (count = 0; count < num_an; count++) {
if(this.responseXML.getElementsByTagName('switch')[count].childNodes[0].nodeValue === "ON") {
$('.doors').css('background', '#989898');
}
else {
$('.doors').css('background', '#FA6900');
}
}
HTML代码:
<div class="item-door light-red doors">
<div id = "door">
<i class="fa fa-key"></i>
<p>Door</p>
</div>
</div>
总结一下,我需要将DIV背景颜色从红色变为绿色而不是字符串ON / OFF。
如果有人有时间可以帮助我,我会非常感激!
答案 0 :(得分:0)
代码$('.doors').css('background', '#989898');
更改包含“门”类的所有容器的背景。在你的陈述中,如果最后一次迭代改变#FA6900
的背景,那么你的所有div都将获得#FA6900
颜色。
如果您只想更改一个容器,则需要编写:
$( $(".doors").get(count) ).css('background', '#989898')
。“
有两次$()
因为.get()
返回一个DOM元素而不是一个jquery元素,所以如果我们想要应用.css()
方法,我们需要再次转换它。
最后一点:#989898
为灰色,#FA6900
为橙色