我正在做基于Arduino的一个RGB-Ledstrip控制器RGB选择。 我目前有硬件工作,但我想通过一个页面(理想情况下)托管在Arduino上进行控制。
问题
我目前的Arduino可以生成此HTML,但是,它会如果用户有某种类型的反馈是可行的。
<!DOCTYPE html>
<html>
<body>
<form method="get" action="?">
R <input type="range" name="R" value="0" min="0" max="255"></br>
G <input type="range" name="G" value="0" min="0" max="255"></br>
B <input type="range" name="B" value="0" min="0" max="255"></br>
<div style="width:100px;height:100px; background:#f00;"></div>
<input type="submit" value="Send color">
</form>
</body>
</html>
我正在寻找一种方法来显示所选的颜色。 理想情况下,它应该使滑块设置的方式着色。 所以,如果我能得到当前的滑块值并将它们作为背景颜色,我将被设置。
但是,据我所知,这根本不是HTML的工作方式。
的问题(S)
- 我可以用CSS来获取当前滑块值并把它作为boxs'色?
我试过
我最好的拍摄它是:
<!DOCTYPE html>
<html>
<body>
<form method="get" action="?">
R <input type="range" id="R" name="R" value="0" min="0" max="255"></br>
G <input type="range" id="G" name="G" value="0" min="0" max="255"></br>
B <input type="range" id="B" name="B" value="0" min="0" max="255"></br>
<div style="width:100px;height:100px; background: rgb(attr(R), attr(G),attr(B));"></div>
<input type="submit" value="Send color">
</form>
</body>
</html>
但它根本没有解决 “RGB()” 函数。我想我很接近,但还没有。
请注意,Arduino的内存是非常有限的,这就是为什么我尽量使它尽可能小。它可以很容易地在Javascript中完成,使用花式的色轮等,但这可能会占用太多的内存字节。
我知道你问没有JavaScript,所以我不会发布这个答案,但我认为它不能在HTML环境中实现。但是,正如你所说,可以用非常简单的JavaScript来完成。做了一个小提琴:https://jsfiddle.net/9h29ujjk/ – Imbue
@Imbue我确实想知道它是否可以在CSS中完成,因为我认为我的最后一个例子很符合轨道,尽管我并不是真的擅长CSS。 你的JavaScript例子其实很小,我相信它可以适应Arduino。但是,循环“输入”并检查它是否属于“范围”类型然后设置事件监听器是否更合乎逻辑? – Paul
其实您可能只是将其作为答案发布。尽管它增加了大约500字节,但是我确实有32kBytes的程序存储空间,所以如果其余的(网络)没有那么多,它可能恰好适合(并且足够好)。 – Paul