我有2个javascripts正在工作但想要将它们合并为一个。 该脚本的目的是创建一个复选框,用于更改刷新率的可变量。
脚本1(按预期工作)
window.onload = function () {
var input = document.querySelector('input[type=checkbox]');
function check() {
if (input.checked) {
var timeout = "10000";
} else {
var timeout = "999999";
}
document.getElementById('result').innerHTML = 'result ' + timeout;
}
input.onchange = check;
check();
}
<input type="checkbox" value="1" />Checkbox
<br/>
<br/>
<span id="result"></span>
脚本2(按预期工作)
var timeout = 10000;
var action = function() {
$('#content').load('/arduino/refresh');
};
setInterval(action, timeout);
我认为我可以将它们合并在一起并让它们幸福地生活,所以我创建了以下脚本:(它显示了复选框,但检查/取消选中不会更改刷新率)
window.onload = function () {
var input = document.querySelector('input[type=checkbox]');
function check() {
if (input.checked) {
var timeout = "10000";
} else {
var timeout = "999999";
}
var action = function() {
$('#content').load('/arduino/refresh');
};
}
input.onchange = check;
check();
}
setInterval(action, timeout);
<input type="checkbox" value="1" />Checkbox
<br/>
<br/>
<span id="result"></span>
有任何建议吗?
答案 0 :(得分:0)
在组合脚本中,setInterval
事件处理程序中未调用check
。修改了局部变量timeout
,但新值从未用于实际更改刷新率。
另外,在更改刷新率时,请同时使用clearInterval
和setInterval
。