为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要两个ul,其中的scrollUp函数能给讲解一下吗?

为什么要两个ul,其中的scrollUp函数能给讲解一下吗?

成长前端初学者 2017-12-27 22:27:39
<!doctype html> <html lang="en">     <head>         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />                    <meta name="keywords" content="关键字1,关键字2" />                <meta name="Description" content="描述信息" />         <title>循环滚动</title>         <!--CSS/JS-->         <style type="text/css">             *{margin:0;padding:0;}             ul,li{list-style:none;display:block;}             #scrollBox{height:150px;width:300px;margin:100px auto;background:#f09;overflow:hidden;}             #scrollBox #con1,#con2{width:280px;float:left;}             #scrollBox li{height:15px;line-height:15px;text-align:center;}         </style>     </head> <body>         <!--div-->     <div id="scrollBox">         <ul id="con1">             <li>李华 中了10块钱<li>             <li>Leo 中了一个手机<li>             <li>刘明 中了一块毛巾<li>             <li>ll 中了保温杯<li>             <li>nice 中了100块钱红包<li>             <li>108 中了20元优惠券<li>             <li>ok 中了100块钱<li>            </ul>         <ul id="con2"></ul>     </div>     <script type="text/javascript">                            var area =document.getElementById('scrollBox');                 var con1 = document.getElementById('con1');                 var con2 = document.getElementById('con2');                 con2.innerHTML=con1.innerHTML;                 function scrollUp(){                 if(area.scrollTop>=con1.offsetHeight){                     area.scrollTop=0;                 }else{                     area.scrollTop++                 }                 }                                var time = 50;                 var mytimer=setInterval(scrollUp,time);                 area.onmouseover=function(){                     clearInterval(mytimer);                 }                 area.onmouseout=function(){                     mytimer=setInterval(scrollUp,time);                 }         </script> </body> </html>
查看完整描述

2 回答

已采纳
?
兼容并包

TA贡献83条经验 获得超67个赞

这个是滚动函数啊 ,意思是说这个li里面内容向上无缝滚动, 2个ul 就是为了第一个ul滚动完后第二个ul接着滚动(这里第二个ul就是复制第一个ul),大白话讲就是 第二个ul复制第一个ul的作用

查看完整回答
反对 回复 2017-12-28
?
成长前端初学者

TA贡献10条经验 获得超3个赞

那为什么要if(area.scrollTop>=con1.offsetHeight){
                    area.scrollTop=0;

查看完整回答
反对 回复 2017-12-28
  • 兼容并包
    兼容并包
    很明显con2也会滚动完,你难道再复制一个con3、con4吗,肯定不可行。con2滚动时,con1已经滚动出外面了,已经看不见了,此时就可以对它进行操作了。这是加个判断,当容器往上滚动到con1高度时,con1刚好向上消失掉,让它又恢复到原来的位置也就是top=0的位置,这样就实现了无缝向上滚动。
  • 2 回答
  • 0 关注
  • 1373 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信