javascript - jQuery 代码应该通过使用来自两个外部设备按钮的 JSON 数据来更改网页中的一些简单内容
问题描述
这是我的学校项目。我试图尽可能简单地做到这一点,只是为了改变网页等的背景颜色。
我使用带有两个按钮(microbit a 和 b)的外部设备 - 连接到串行端口,写入数据字符串“aa”或“bb”。然后python代码在forever循环中读取它并将其写入json文件,这段代码应该能够进入。随着这些不断变化的json时间戳,这段代码应该读取最新按下的按钮,然后执行条件中写入的操作.
json 文件的参考时间一直在变化,通过按钮按下。
我非常感谢您的帮助,我们已经做这个项目很长时间了,这是最后阶段,但正如你所见,但我还没有到那里。
因为这在获取 json 行之后不执行任何操作……它执行了一次,直到最后 >>if,但是它停止了……为什么?我不知道..我在这方面还不够好。
代码花括号等的最后部分,我不能再计算哪个太多或>>缺少什么?!...
我的 json 示例:{"REF": 1624391142, "aa": 1624391140, "bb": 1624391142}
$(document).ready(function () {
console.log("jQuery starts");
var d = new Date();
var time = d.getTime();
setInterval(function () {
// loop that reads every 2 sec json file,
$.getJSON("data.json"),
function (json) {
console.log("test", time);
//what is REF-time <= time
if (time <= json.REF) {
// any changes?
time = json.REF;
console.log(" REF", time);
pressedBtn = "";
jQuery.each(json, function (key, value) {
//searhing
if (value == time && key != "REF") {
pressed = key;
console.log("Working");
}
if (pressedBtn == "aa") {
$("body").show("active"); //background color change
console.log("pressed", pressedBtn);
$("#toshow").show("toshow"); // comment div
}
if (pressedBtn == "bb") {
$("#toshow").hide("toshow"); //comment div
console.log("pressed", pressedBtn);
}
});
}
};
}, 2000);
});
解决方案
我想我理解你,也许这是你的解决方案检查这个
$(document).ready(function(){
setTimeout(doSomething,2000);
});
function doSomething(){
console.log("do something");
setTimeout(doSomething,2000);
}
这个函数每 2 秒执行一次,就像你在代码中想要的那样
我希望我对你有帮助
推荐阅读
- swift - 带有令牌swift的url请求
- swiftui - 如何在 SwiftUI 的视图函数中将视图作为默认值?
- java - Resilience4j - 记录断路器状态更改
- r - 如何为数据整理编写高效的包装器,允许在调用包装器时关闭任何包装的部分
- reporting-services - Power BI 报表生成器计数 IF 表达式
- javascript - 单选按钮未单击单击
- xamarin - Xamarin.Forms 图形问题 - DatePicker 文本丢失,开关背景丢失
- c++ - 错误:“QT_INIT_METAOBJECT”没有命名类型?
- python - 使用 python 从命令行应用程序执行和读取响应
- python - 如何在单元测试中模拟 ftp.nlst()?