文字滚动JS代码

雨点打透心脏的1/2处 2022-08-03 05:15 292阅读 0赞

文字滚动特效,还是比较简单的只要弄明白远离,主要是定时器的使用,今天在慕课上看到一个比较好的,滚动好写只要实现scrollTop++就可以,难点在于怎么样实现无限滚动,要理解两个属性就是scrollTop和
scrollHeight
这里写图片描述
我们先复制一个ul列表和第一个列表一模一样,之后我们当第二个ul列表出现下面这样的情况时,将scrollTop变为0
这里写图片描述
这样也就是area.scrollTop=area.scrollHeight/2
我们将 area.scrollTop变为0这样就可以进行下一次循环了
接下来是慕课网上的源码实例(无缝隙滚动)

  1. <div id="moocBox">
  2. <ul id="con1">
  3. <li><a href="#">1.学会html5 绝对的屌丝逆袭(案例)</a><span>2013-09-18</span></li>
  4. <li><a href="#">2.tab页面切换效果(案例)</a><span>2013-10-09</span></li>
  5. <li><a href="#">3.圆角水晶按钮制作(案例)</a><span>2013-10-21</span></li>
  6. <li><a href="#">4.HTML+CSS基础课程(系列)</a><span>2013-11-01</span></li>
  7. <li><a href="#">5.分页页码制作(案例)</a><span>2013-11-06</span></li>
  8. <li><a href="#">6.导航条菜单的制作(案例)</a><span>2013-11-08</span></li>
  9. <li><a href="#">7.信息列表制作(案例)</a><span>2013-11-15</span></li>
  10. <li><a href="#">8.下拉菜单制作(案例)</a><span>2013-11-22</span></li>
  11. <li><a href="#">9.如何实现“新手引导”效果</a><span>2013-12-06</span></li>
  12. </ul>
  13. <ul id="con2">
  14. </ul>
  15. </div>
  16. var area = document.getElementById('moocBox');
  17. var con1 = document.getElementById('con1');
  18. var con2 = document.getElementById('con2');
  19. var speed = 50;
  20. area.scrollTop = 0;
  21. con2.innerHTML = con1.innerHTML;//进行复制
  22. function scrollUp(){
  23. if(area.scrollTop >= area.scrollHeight/2) {
  24. //判断条件是否达到临界
  25. area.scrollTop = 0;
  26. }else{
  27. area.scrollTop ++;
  28. }
  29. }
  30. var myScroll = setInterval("scrollUp()",speed);
  31. area.onmouseover = function(){
  32. clearInterval(myScroll);
  33. }
  34. area.onmouseout = function(){
  35. myScroll = setInterval("scrollUp()",speed);
  36. }

还有一种就是间歇性滚动,道理一样很简单,每次滚动多少高度,就暂停一会,暂停用什么呢?
想象setTimeout可以暂停一段时间执行一段函数,也就是说,我们把执行setInterval的函数封装起来放在setTimeout中就可以了

  1. var area = document.getElementById('moocBox');
  2. var iliHeight = 24;//单行滚动的高度
  3. var speed = 5;//滚动的速度,越小越快
  4. var time;
  5. var delay= 2000;
  6. area.scrollTop=0;
  7. area.innerHTML+=area.innerHTML;//克隆一份一样的内容
  8. function startScroll(){
  9. time=setInterval("scrollUp()",speed);//第一次循环
  10. area.scrollTop++;
  11. }
  12. function scrollUp(){
  13. if(area.scrollTop % iliHeight==0){
  14. //如果走了一个行高
  15. clearInterval(time);//清除定时器
  16. setTimeout(startScroll,delay);//之后延迟在执行startScroll
  17. }else{
  18. area.scrollTop++;
  19. if(area.scrollTop >= area.scrollHeight/2){
  20. //到达临界
  21. area.scrollTop =0;
  22. }
  23. }
  24. }
  25. setTimeout(startScroll,delay)//调用

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读

    相关 文字滚动JS代码

    文字滚动特效,还是比较简单的只要弄明白远离,主要是定时器的使用,今天在慕课上看到一个比较好的,滚动好写只要实现scrollTop++就可以,难点在于怎么样实现无限滚动,要理解两

    相关 js左右无缝滚动代码

    无缝滑动图片的原理是用一个div1来装所有图片,再复制一个同样的div2,将这两个div放在一个indiv里面,外面再包一个div。通过控制最外层div的scollLeft实现

    相关 文字滚动标签

    Marquee是html的标签,所有的主流浏览器都能兼容,用于创建文字滚动。 来介绍下标签的属性 滚动方向 direction <!--滚动方向 directi