2

我的 jScroll 无法正常工作,尽管我遵循了http://jscroll.com/#example上的示例 我做错了吗?我对 jQuery 的经验很少。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script src="jquery.jscroll.min.js"></script>
<script>
$('.scroll').jscroll();
</script> 
</head>
<body>
<div class="scroll">
    <p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p>
</div>
</body>
</html>
4

3 回答 3

1

等一下 - 你想达到什么目的..?查看了 jScroll 的文档后,我不确定您是否按预期使用它。

它用于延迟加载。这意味着,你有:


内容……内容……内容……内容……内容……内容……内容……内容……内容……内容……内容……
[Link to more content]


当您向下滚动到 时[Link to more content],它将从该页面加载内容。

您是否试图将“非常长的内容”固定在带有滚动条的框中?如果是这样,请为此使用CSS...

div.scroll {
    height: 200px;
    overflow: auto;
    background:#ffe;
}

http://jsfiddle.net/jy3v2n25/


尝试包装你$('.scroll').jscroll();$(document).ready().

<script>
$(document).ready(function(){
    $('.scroll').jscroll();
});
</script> 

于 2015-09-03T11:16:59.670 回答
1

不使用框架示例运行:

https://jsfiddle.net/Limitlessisa/t8wk1o8L/8

html:

<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<div id="comments_area" next="/user/login">Null</div>

JS:

    window.addEventListener('scroll', function(evt) {
        if(lij){lijScroll();}
    });
    var lij=true;
    var lijScroll= function(){
        var elem=$('#comments_area');
        if(!elem.length){
          lij=false; 
          return false
        }
        var scrollingElement = document.scrollingElement || document.documentElement; // all browser + Firefox
        var distance_from_top = scrollingElement.scrollTop;
        var elementPos = elem.offset().top - $(window).height();
        if(distance_from_top>elementPos){
            lij=false;
            $(elem).html('Loading...');
            $.ajax({
                type: 'POST',
                url: $(elem).attr('next'),
                data: null,
                dataType: 'html',
                context: document.body
            }).done(function(data) {
                $(elem).html(data);
            });
        }
    }
于 2016-12-16T15:44:38.980 回答
1

我非常喜欢无限 isa 的脚本,我改进了它以使用 jquery。

它从链接加载元素,然后将它们附加到 div 元素中。

$(function() {
 var lij=true;
 var newrun = 0;
 var oldrun = 0;
 var lijScroll= function() {
  if(newrun > oldrun) {
   return;
  }
  newrun++;
  var cont=$('#list');
  var elem=$('#next');
  var scrollingElement = document.scrollingElement || document.documentElement; // all browser + Firefox
  var distance_from_top = scrollingElement.scrollTop;
  var elementPos = elem.offset().top - $(window).height();
  if(distance_from_top>elementPos) {
   $(elem).html('Loading...');
   $.ajax({
    type: 'POST',
    url: $(elem).attr('href'),
    data: null,
    dataType: 'html',
    context: document.body
   }).done(function(data) {
    datawrap = '<div>'+data+'</div>';
    datadom = $(datawrap);
    oldlist = "";
    cont.find('.grid-item').each(function(index) {
     oldlist += $(this)[0].outerHTML;
    });
    //alert("oldlist: "+oldlist);
    appendlist = "";
    $(datadom).find('.grid-item').each(function(index) {
     appendlist += $(this)[0].outerHTML;
    });
    //alert("appendlist: "+appendlist);
    nextlink = $(datadom).find("#next")[0].outerHTML;
    //alert("nextlink: "+nextlink);
    $(cont).html(oldlist+appendlist);
    $(elem).replaceWith(nextlink);
    //lij = false; //Break after first run old impl
    oldrun++;
   });
  }
 }
 window.addEventListener('scroll', function(evt) {
   //if(lij) { lijScroll(); } //Old single run impl
   lijScroll();
 });
});
于 2017-08-29T12:45:08.683 回答