这篇“js如何实现文字无缝轮播”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js如何实现文字无缝轮播”文章吧。
所用到的知识点:
innerHTML 获取或设置某个对象的内容
scrollTop 滚动条滚动的距离,此属性是系统内置定义好的
offsetHeight 获取或设置对象的高度
setInterval() 开启定时器
clearInterval() 关闭定时器
html布局结构如下:
其中con2是用来储存复制con1内容的容器
<body><div id="mooc"> <!-- 头部 --><h4 id="moocTitle">最新课程<a href="#" target="_self">更多>></a> </h4><!-- 头部结束 --> <!-- 中间 --><div id="moocBox"> <ul id="con1"> <li><a href="#">1.学会html5 绝对的逆袭(案例)</a><span>2013-09-18</span></li> <li><a href="#">2.tab页面切换效果(案例)</a><span>2013-10-09</span></li> <li><a href="#">3.圆角水晶按钮制作(案例)</a><span>2013-10-21</span></li> <li><a href="#">4.HTML+CSS基础课程(系列)</a><span>2013-11-01</span></li> <li><a href="#">5.分页页码制作(案例)</a><span>2013-11-06</span></li> <li><a href="#">6.导航条菜单的制作(案例)</a><span>2013-11-08</span></li> <li><a href="#">7.信息列表制作(案例)</a><span>2013-11-15</span></li> <li><a href="#">8.下拉菜单制作(案例)</a><span>2013-11-22</span></li> <li><a href="#">9.如何实现“新手引导”效果</a><span>2013-12-06</span></li> </ul> <ul id="con2"> </ul></div><!-- 中间结束 --> </div></body>
css样式如下:
<style>body { font-size: 12px; line-height: 24px; text-algin: center; }* { margin: 0px; padding: 0px; }ul { list-style: none; }a img { border: none; }a { color: #333; text-decoration: none; }a:hover { color: #ff0000;}#mooc { width: 399px; border: 5px solid #ababab; -moz-border-radius: 15px; -webkit-border-radius: 15px; border-radius: 15px; box-shadow: 2px 2px 10px #ababab; margin: 50px auto 0; text-align: left; } #moocTitle { height: 62px; overflow: hidden; font-size: 26px; line-height: 62px; padding-left: 30px; background-image: -moz-linear-gradient(top, #f05e6f, #c9394a); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f05e6f), color-stop(1, #c9394a)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8fa1ff', endColorstr='#f05e6f', GradientType='0'); border: 1px solid ##f05e6f; -moz-border-radius: 8px 8px 0 0; -webkit-border-radius: 8px 8px 0 0; border-radius: 8px 8px 0 0; color: #fff; position: relative;}#moocTitle a { position: absolute; right: 10px; bottom: 10px; display: inline; color: #fff; font-size: 12px; line-height: 24px;}#moocBot { width: 399px; height: 10px; overflow: hidden; }#moocBox { height: 144px; width: 335px; margin-left: 25px; margin-top: 10px; overflow: hidden; }#mooc ul li { height: 24px;}#mooc ul li a { width: 180px; float: left; display: block; overflow: hidden; text-indent: 15px; height: 24px;}#mooc ul li span { float: right; color: #999;}</style>
js代码如下:
<script> var area=document.getElementById('moocBox'); area.scrollTop=0;//scrollTop初始化对象滚动条的距离,此属性是系统标准化的 //获取第一个ul对象 var con1=document.getElementById('con1'); //获取第二个ul对象 var con2=document.getElementById('con2'); //将第一个ul对象里的内容给第二个ul对象 con2.innerHTML=con1.innerHTML; //封装函数 用来判断滚动条的距离与盒子高度的关系 function scrollUp(){ if(area.scrollTop>=con1.offsetHeight){ area.scrollTop=0; }else{ area.scrollTop++; } } //声明定时器 var timer=null; //解决暴力用户 在开启定时器之前最好先清除一下定时器 clearInterval(timer); //开始定时器 timer=setInterval(scrollUp,50); //为对象设置绑定鼠标滑过 area.onmouseover=function(){ clearInterval(timer); } //为对象绑定鼠标划出 area.onmouseout=function(){ timer=setInterval(scrollUp,50); }</script>
以上就是关于“js如何实现文字无缝轮播”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。