内容未在滚动中加载

时间:2012-09-19 09:29:00

标签: javascript jquery

所以我创建了一个在jsfiddle中运行的动态滚动 - > http://jsfiddle.net/9zXL5/39/

var movelist = document.getElementById('movelist');

function yHandler() {
    var contentHeight = movelist.scrollHeight;
    var yOffset = movelist.clientHeight;
    var y = yOffset + movelist.scrollTop;
    if (y >= contentHeight) {
        movelist.innerHTML += '<div class ="newData">yooooo</div>';
    }
}


movelist.onscroll = yHandler;​

但它没有被捕获的错误,例如yHandler没有被定义。所以我通过放置var movielist = ..和movielist.onscroll = yHandler来修复错误;在我的$(文件).ready中。错误消失了,但是当我的滚动到达底部时,内容将无法加载 - &gt; http://jsfiddle.net/9zXL5/40/

$(document).ready(function() {
    var movelist = document.getElementById('movelist');

    movelist.onscroll = yHandler;
});

function  yHandler (){

        var contentHeight = movelist.scrollHeight;

        var yOffset = movelist.clientHeight;

        var y = yOffset + movelist.scrollTop;

        if(y >= contentHeight){

            movelist.innerHTML += '<div class ="newData">hey look at me</div>';

        });
    }
}

我无法弄明白为什么。如果有人向我解释为什么会这样,我真的很感激。

2 个答案:

答案 0 :(得分:0)

你的小提琴中有几个错误:

  1. 你没有加载jQuery的地方
  2. 您有几个语法错误
  3. 这是一个工作小提琴:http://jsfiddle.net/9zXL5/42/

    如果您使用控制台(chrome / devtools或FF / firebug)来发现错误并更正错误,这会有所帮助。在您的情况下,您在此处有括号括号和括号:

            movelist.innerHTML += '<div class ="newData">hey look at me</div>';
        }); // <-- remove the );
    } // <-- remove this line
    

答案 1 :(得分:0)

您在jsFiddle中遇到了许多JavaScript语法错误,原因是:

  1. 没有加载jQuery,
  2. 在函数声明后有一个不必要的括号和分号();),并且在该函数声明之后还有一个额外的,不匹配的结束花括号(})。
  3. 如果您还没有我强烈建议您安装或开始使用JavaScript调试器。如果你使用Firefox,我个人建议使用Firebug。在Internet Explorer和Chrome中,可以使用 F12 键访问内置开发人员工具。

    这是一个updated jsFiddle