简单易用的无缝滚动
2017-08-19 14:32
344 查看
要保证所用的图片的大小是一致的
我的图片大小是200px*100px
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
img,ul,li,div,body{margin: 0;padding: 0;}
img{vertical-align: top;}
a{text-decoration: none; color: black;}
ul li{float: left;}
ul{list-style: none;}
#div1{
width:800px;
height: 100px;
margin: 100px auto;
position: relative;
overflow: hidden;
}
#div1 ul{
position: absolute;left: 0;top: 0;
}
#div1 ul li{
width: 200px;
height: 100px;
}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var aA=document.getElementsByTagName('a');
var speed=2; //移动速度 初始值为向右移动
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML; //把ul的四张图片变为两个四张 即八张 连接在一起
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px'; //ul的宽度为八张图片的宽度
function move(){
if(oUl.offsetLeft<-oUl.offsetWidth/2) //向左移动的函数
//当ul的第八章图片将要移出来时,ul的left为-800时,八张图片全部移动了一遍
//<-800时,用第一组的四张图片立即覆盖第二组的四张图片
{
oUl.style.left='0';
}
if(oUl.offsetLeft>0) //向右移动
{
oUl.style.left=-oUl.offsetWidth/2+'px';
}
oUl.style.left=oUl.offsetLeft+speed+'px';
}
var timer=setInterval(move,30);//定时器
oDiv.onmouseover=function() //鼠标移入时 关闭定时器,停止移动
{
clearInterval(timer);
};
oDiv.onmouseout=function() //鼠标移出时 重启定时器,开始移动
{
timer=setInterval(move,30);
};
aA[0].onclick=function() //添加点击事件 向左走
{
speed=-2;
}
aA[1].onclick=function() //点击事件 向右走
{
speed=2;
}
}
</script>
</head>
<body>
<a href="javascript:;">向左走</a>
<a href="javascript:;">向右走</a>
<div id="div1">
<ul>
<li><img src="img/Zyx1.jpg"/></li>
<li><img src="img/Zyx2.jpg"/></li>
<li><img src="img/Zyx3.jpg"/></li>
<li><img src="img/Zyx4.jpg"/></li>
</ul>
</div>
</body>
</html>
我的图片大小是200px*100px
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
img,ul,li,div,body{margin: 0;padding: 0;}
img{vertical-align: top;}
a{text-decoration: none; color: black;}
ul li{float: left;}
ul{list-style: none;}
#div1{
width:800px;
height: 100px;
margin: 100px auto;
position: relative;
overflow: hidden;
}
#div1 ul{
position: absolute;left: 0;top: 0;
}
#div1 ul li{
width: 200px;
height: 100px;
}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var aA=document.getElementsByTagName('a');
var speed=2; //移动速度 初始值为向右移动
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML; //把ul的四张图片变为两个四张 即八张 连接在一起
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px'; //ul的宽度为八张图片的宽度
function move(){
if(oUl.offsetLeft<-oUl.offsetWidth/2) //向左移动的函数
//当ul的第八章图片将要移出来时,ul的left为-800时,八张图片全部移动了一遍
//<-800时,用第一组的四张图片立即覆盖第二组的四张图片
{
oUl.style.left='0';
}
if(oUl.offsetLeft>0) //向右移动
{
oUl.style.left=-oUl.offsetWidth/2+'px';
}
oUl.style.left=oUl.offsetLeft+speed+'px';
}
var timer=setInterval(move,30);//定时器
oDiv.onmouseover=function() //鼠标移入时 关闭定时器,停止移动
{
clearInterval(timer);
};
oDiv.onmouseout=function() //鼠标移出时 重启定时器,开始移动
{
timer=setInterval(move,30);
};
aA[0].onclick=function() //添加点击事件 向左走
{
speed=-2;
}
aA[1].onclick=function() //点击事件 向右走
{
speed=2;
}
}
</script>
</head>
<body>
<a href="javascript:;">向左走</a>
<a href="javascript:;">向右走</a>
<div id="div1">
<ul>
<li><img src="img/Zyx1.jpg"/></li>
<li><img src="img/Zyx2.jpg"/></li>
<li><img src="img/Zyx3.jpg"/></li>
<li><img src="img/Zyx4.jpg"/></li>
</ul>
</div>
</body>
</html>
相关文章推荐
- JS简单实现无缝滚动效果实例
- 10行原生JS实现文字无缝滚动(超简单)
- 使用Javascript简单实现图片无缝滚动
- jquery实现简单的无缝滚动
- jquery 简单实用的无缝滚动效果
- CSS实现简单无缝滚动
- 简单的无缝滚动程序-仅几行代码
- 最简单的无缝滚动程序,只需要五行代码(转)
- 简单的jQuery无缝向上滚动效果
- JavaScript学习笔记——简单无缝循环滚动展示图片的实现
- 简单的无缝滚动程序-仅几行代码
- 简单图片无缝滚动的实现
- 最简单的无缝滚动程序,只需要五行代码
- 原生Js无缝滚动效果的简单实现
- css + js实现简单无缝滚动字幕
- 无缝滚动的简单实现代码(推荐)
- 超简单 无缝滚动 漂浮广告 代码属性
- js无缝滚动,很好用的jquery的,简单方便。
- 使用jQuery实现简单上下无缝滚动
- JS_简单无缝图片滚动