将2个javascripts合并为一个

时间:2014-05-10 21:25:07

标签: javascript checkbox setinterval

我有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>

有任何建议吗?

1 个答案:

答案 0 :(得分:0)

在组合脚本中,setInterval事件处理程序中未调用check。修改了局部变量timeout,但新值从未用于实际更改刷新率。

另外,在更改刷新率时,请同时使用clearIntervalsetInterval

相关问题