Arduino和JS / Cpp

时间:2016-11-16 08:13:35

标签: javascript c++ ajax arduino

我有一个项目"智能住宅"我使用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。

如果有人有时间可以帮助我,我会非常感激!

1 个答案:

答案 0 :(得分:0)

代码$('.doors').css('background', '#989898');更改包含“门”类的所有容器的背景。在你的陈述中,如果最后一次迭代改变#FA6900的背景,那么你的所有div都将获得#FA6900颜色。

如果您只想更改一个容器,则需要编写:

$( $(".doors").get(count) ).css('background', '#989898')。“

有两次$()因为.get()返回一个DOM元素而不是一个jquery元素,所以如果我们想要应用.css()方法,我们需要再次转换它。

最后一点:#989898为灰色,#FA6900为橙色