Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动容器更改滚动较大容器的速度_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 滚动容器更改滚动较大容器的速度

Javascript 滚动容器更改滚动较大容器的速度,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,可以改进包含大量对象的列表的滚动 <ul> <li>text1</li> <li>text2</li> <li>text3</li> <li>text4</li> <li>...</li> . . . <li>text1000</li> </ul> 文本1 文本2 文本3 文本4 . .

可以改进包含大量对象的列表的滚动

<ul>
  <li>text1</li>
  <li>text2</li>
  <li>text3</li>
  <li>text4</li>
  <li>...</li>
  .
  .
  .
  <li>text1000</li>
</ul>
  • 文本1
  • 文本2
  • 文本3
  • 文本4
  • . . .
  • 文本1000
每当我滚动容器中90%的元素时,我都会发出一个js调用,将更多的结果加载到容器中,并将剩余的元素添加到ul中

我可以根据结果的数量修改滚动时的滚动速度吗

p、 我没有在这种情况下尝试过的任何代码。我不知道怎么做。这是我解决问题的最后一次尝试。
p、 s.2我想要一个没有jquery或jqm之外的任何额外库的解决方案

编辑:
通过修改滚动速度,我的意思是,如果有许多对象,则将滚动速度更改为更快,否则将变慢

您可以使用这种片段:

{使用滚动条更改超时延迟以减少无聊效果}

(函数(){
变量$ul=$('ul');
对于(变量i=1;i<1001;i++)
$ul.append(“
  • 测试:”+i+“
  • ”); var lastScrollTop=0, 圣, 方向; 函数getDirection(){ st=window.pageYOffset; 如果(st>lastScrollTop){ 方向=“向下”; }否则{ 方向=“向上”; } lastScrollTop=st; 返回方向; } var scrolling=函数(){ var$window=$(此); $window.off('scroll'); 变量增量=$ul.height()/10, scroll=$window.scrollTop(); 如果(getDirection()=“down”)$window.scrollTop(增量+滚动); else$window.scrollTop(滚动-增量); log($(window.scrollTop()); lastScrollTop=this.pageYOffset; setTimeout(函数(){ $window.on('scroll',滚动); }, 0); }; $(窗口)。打开('滚动',滚动); })();
    您可以使用这种代码段:

    {使用滚动条更改超时延迟以减少无聊效果}

    (函数(){
    变量$ul=$('ul');
    对于(变量i=1;i<1001;i++)
    $ul.append(“
  • 测试:”+i+“
  • ”); var lastScrollTop=0, 圣, 方向; 函数getDirection(){ st=window.pageYOffset; 如果(st>lastScrollTop){ 方向=“向下”; }否则{ 方向=“向上”; } lastScrollTop=st; 返回方向; } var scrolling=函数(){ var$window=$(此); $window.off('scroll'); 变量增量=$ul.height()/10, scroll=$window.scrollTop(); 如果(getDirection()=“down”)$window.scrollTop(增量+滚动); else$window.scrollTop(滚动-增量); log($(window.scrollTop()); lastScrollTop=this.pageYOffset; setTimeout(函数(){ $window.on('scroll',滚动); }, 0); }; $(窗口)。打开('滚动',滚动); })();
    modify the scroll speed(修改滚动速度)是什么意思?即使是facebook也有这个问题。我认为减慢或加快滚动速度会让用户感到沮丧。。。这就是我的想法。是的,但这是我的要求:P这是什么意思“修改滚动速度”?即使是facebook也有这个问题。我认为减慢或加快滚动速度会让用户感到沮丧。。。是的,但这是我的要求:P
    (function () {
        var $ul = $('ul');
        for (var i = 1; i < 1001; i++)
        $ul.append('<li>test::' + i + '</li>');
    
        var lastScrollTop = 0,
            st,
            direction;
    
        function getDirection() {
            st = window.pageYOffset;
            if (st > lastScrollTop) {
                direction = "down";
            } else {
                direction = "up";
            }
            lastScrollTop = st;
            return direction;
        }
    
    
        var scrolling = function () {
            var $window = $(this);
            $window.off('scroll');
            var delta = $ul.height() / 10,
                scroll = $window.scrollTop();
            if (getDirection() === "down") $window.scrollTop(delta + scroll);
            else $window.scrollTop(scroll - delta);
            console.log($(window).scrollTop());
            lastScrollTop = this.pageYOffset;
            setTimeout(function () {
                $window.on('scroll', scrolling);
            }, 0);
        };
        $(window).on('scroll', scrolling);
    })();