【发布时间】:2020-06-04 01:56:39
【问题描述】:
这是我关于堆栈溢出的第一个问题,所以我想向大家问好。我今天的问题如下...
我正在尝试使用 jQuery UI 滑块通过 TCP/IP 将值发送到 Arduino 的串行端口。
我已经完成了通信部分(TCP 和串行)。问题是,每当用户移动滑块时,沿途的每个值都会非常迅速地一个接一个地发送。我想延迟滑块,以便它在每一步之间以 100 毫秒的延迟发送这些值。
我尝试使用“setInterval”和“clearInterval”但没有成功。代码如下:
$(document).ready(function() {
$( "#mySlider" ).slider({
range: "min",
min: 0,
max: 180,
value: 90,
slide: function( event, ui ) {
delayPan(ui.value);
}
});
$( "#total" ).val( $( "#mySlider" ).slider( "value" ) );
});
var timeOut;
function delayPan(vals) {
$( "#total" ).val("$" + vals );
//the part below sends values to another PHP file in order to then send it using TCP/IP
timeOut = setInterval(function()
{
$.get("insert_commands.php", {command: 39, parameter: 0, value: vals, number: 0},
function(command,parameter,value,number){}, "json");
}, 100);
clearInterval(timeOut);
}
为了更清楚,这里是我 index.php 网站上滑块的 HTML:
<label for="total">ANGLE:</label>
<input type="text" id="total" style="border:0; color:#fa4b2a; font-weight:bold;">
</p>
<div id="mySlider"></div>
我不知道如何解决这个问题——我对 javascript/jQuery 很陌生。我可以延迟 Arduino 或 TCP 套接字上的接收,但主网站上还有其他按钮设置了不同的延迟,所以如果可能的话,我需要在 jQuery 中进行。
如果有任何建议,我将不胜感激。
谢谢 抢
【问题讨论】:
-
嗨,告诉我你收到了多少信号,我想你会延迟收到一次数据,对吧?
标签: javascript jquery html css user-interface