javascript - 想请教下,自己这段代码实现不了上下永久循环滚动
迷茫
迷茫 2017-04-10 16:22:32
[JavaScript讨论组]

想请教下,自己这段js代码想实现,当滚动的距离小于他的高度时候,就自增10PX向下滚动, 当滚动距离等于他的高度时候,就逐渐自减10px向上移动,这样往复永远循环下去 自己的代码这样写的,只能向下 再向上的时候只能移动一点,怎样可以实现永远上下移动(或是最多只能往返一次,还感觉有卡顿的情况)

 

 
   New Document 
  
  
  
  

 
 

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
巴扎黑

你的判断条件是有问题的,最后导致的结果就是会在底部一上一下的运动。
我这里加入了一个标明方向的变量,将代码修改如下,就可以实现你说的上下运动了,如果你想要计算来回次数,在声明一个变量,在direction变化的时候累加即可。

// 引入一个判断运动方向的变量 =1 向下  =-1 向上
var direction = 1;
 
function gopp(){
    
    if (box.scrollTop >= box.offsetHeight) {
        direction = -1;
    }
    else if (box.scrollTop <= 0) {
        direction = 1;
    };

    if(direction == 1) {
        box.scrollTop += 10;
    }                 
    else if (direction == -1) {
        box.scrollTop -= 10;
    };
}

var timer = setInterval(gopp, 200);

关于解决运动卡顿的问题,不是那么简单就能够说清除的,我模仿jQuery的实现方法,模拟了原生封装运动框架.
并最终保存在了js目录下,你可以去看一看。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号