zoukankan      html  css  js  c++  java
  • javascript实现无缝上下滚动(转)

    js实现上下无缝滚动的原理是这样的:

    1、首先给容器设定高度或宽度,然后overflow:hidden; 
    2、容器高度设定后,内容超出则被隐藏。
    3、改变容器的scrollTop(上下滚动)属性的值,让内容上下移动一个节点的位置(滚动的原理); 
    4、到滚动的高度scrollTop大于或等于要滚动节点的高度时,设置scrollTop=0,并把把子节点树中的第一个移动到最后,重新开始滚动,无间断循环滚动效果就出现了。 

    代码如下:

      1. <divid="colee"style="overflow:hidden;height:100px;width:410px;border:1px solid red;">
      2. <divid="colee1">
      3. <p>php</p>
      4. <p>java</p>
      5. <p>ruby</p>
      6. <p>python</p>
      7. <p>www.phpddt.com</p>
      8. </div>
      9. <divid="colee2"></div>
      10. </div>
      11. <script>
      12. //速度设置
      13. var speed=1;
      14. var colee2=document.getElementById("colee2");
      15. var colee1=document.getElementById("colee1");
      16. var colee=document.getElementById("colee");
      17. colee2.innerHTML=colee1.innerHTML;//克隆colee1为colee2
      18. functionMarquee1(){
      19. //当滚动至colee1与colee2交界时
      20. if(colee2.offsetTop-colee.scrollTop<=0){
      21. colee.scrollTop-=colee1.offsetHeight;//colee跳到最顶端
      22. }else{
      23. colee.scrollTop++
      24. }
      25. }
      26. varMyMar1=setInterval(Marquee1,speed)//设置定时器
      27. //鼠标移上时清除定时器达到滚动停止的目的
      28. colee.onmouseover=function(){clearInterval(MyMar1)}
      29. //鼠标移开时重设定时器
      30. colee.onmouseout=function(){MyMar1=setInterval(Marquee1,speed)}
      31. </script>
  • 相关阅读:
    hdu1085
    hdu1028
    hdu2189
    母函数
    博弈论
    nginx安装
    学习好站点
    nginx在linux下安装
    wget 命令用法详解
    U盘安装CentOS7的帖子
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3248464.html
Copyright © 2011-2022 走看看