在没有jQuery的情况下检测wheel事件JavaScript的结束

时间:2014-07-03 16:55:43

标签: javascript html

我有my code,我无法理解如何检测滚动结束(当它到达元素的底部时)。

document.getElementById('list').addEventListener('wheel', function () {
    function load() {
       var fragment = document.createDocumentFragment();

        for (var i = 0; i < 10; i++) {
            var p = document.createElement('p');
            p.appendChild(document.createTextNode(i));
            fragment.appendChild(p);
       }
       return fragment;
     }

      // if ( scroll end ) { load new content 
         this.appendChild(load());
      //} 
  }, false);

此任务是否有最佳实践/算法?

1 个答案:

答案 0 :(得分:0)

好的,我现在得到了你想要达到的目标......

基本上,有两个属性.scrollHeight是可滚动元素中内容的高度,.scrollTop返回可滚动内容的当前滚动位置。

当您滚动到可滚动元素的末尾时,其scrolltop + height将等于其scrollheight,因此您的条件应如下所示:

var myList = document.getElementById('list');
if (myList.scrollTop + myList.offsetHeight == myList.scrollHeight) {
    this.appendChild(load());
}

这是你的 Fixed Fiddle