使用JQuery的意外令牌功能

时间:2013-11-01 16:49:06

标签: javascript jquery html

我有一个我在间隔上设置的功能:

function refresh() {
    if ($("#autorefresh").checked) {
        var elem = $("#messagesDiv");
        elem.scrollTop = elem.scrollHeight;
    }
}

var autoRefresh = window.setInterval(refresh(), 1000);

和html页面上的简单复选框输入。我继续在refresh()函数上获得一个意外的令牌函数。我已经检查过太多逗号,括号太多,在这个意义上似乎没有任何错误。任何想法?

1 个答案:

答案 0 :(得分:3)

var autoRefresh = window.setInterval(refresh(), 1000);

需要

var autoRefresh = window.setInterval(refresh, 1000);

你会发现

$("#autorefresh").checked

需要

$("#autorefresh").prop("checked")

和你的第三个问题,没有scrollTop和scrollHeight属性,你没有使用DOM元素

elem.scrollTop = elem.scrollHeight;

应该是

elem.scrollTop(elem[0].scrollHeight);  

更新的代码将是

function refresh () {
    if ($("#autorefresh").prop("checked")) {
        var elem = $("#messagesDiv");
        elem.scrollTop(elem[0].scrollHeight);
    }
}
var autoRefresh = window.setInterval(refresh, 1000);

运行示例:

http://jsfiddle.net/7eEcw/