自己写的文字轮播(简陋版)

  最近一直在写图片的轮播图,满脑子全是图片滚动, 今天来换一个文字轮播写写. 大家不要在意样式,和内容.都是我随便写的. 

  主要思路就是 复制两块一样的内容,在内容滚动的过程中,判断当第二个内容滚到一定位置时,重置整体滚动的值.

 

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
*{
margin: 0;
padding: 0;
text-align: center;
}
.container{
border: 1px solid #0094ff;
height: 100px;
overflow: hidden;
}
.first{
}
</style>

</head>
<body>
<h2>文字轮播</h2>
<div class="container" id="demo">
<p>文字轮播已经开始</p>
<div class="first" id="demo1">
<ul>
<li>000</li>
<li>111</li>
<li>222</li>
<li>333</li>
<li>444</li>
<li>555</li>
<li>666</li>
<li>777</li>
<li>888</li>
<li>999</li>

</ul>	
</div>
<div class="second" id="demo2"></div>
</div>
</body>
</html>
<script>
//文字直播 思路 demo2 和demo1的内容一样 直到demo2的内容播完在跳回1
//滚动的速度
var speed = 30;
//获取dom元素
var demo = document.getElementById('demo');
var demo1 = document.getElementById('demo1');
var demo2 = document.getElementById('demo2');
//拷贝一份2
demo2.innerHTML = demo1.innerHTML;

//轮播的本质就是scrollTop ++
var carousel = function (){
//18指的是 总高度和first播完后的高度差 其实就是container下面的p标签的高度
if (demo2.offsetTop - demo.scrollTop == 18) {
demo.scrollTop -= demo1.offsetHeight;
}else{
demo.scrollTop++;	
}	
}
//设置定时器
var setTime = setInterval(carousel, speed);


//鼠标移入 清楚定时器

demo.onmouseenter = function () {
clearInterval(setTime);
}
demo.onmouseleave = function () {
setTime = setInterval(carousel, speed);
}

</script>

  

posted on 2016-11-06 00:16  奋斗的小小牛  阅读(503)  评论(0编辑  收藏  举报

导航