使用原生js实现无缝滑动。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
padding: 0px;
margin: 0px;
list-style: none;
}
body{
background-color: pink;
}
div{
width: 600px;
height: 200px;
border: 1px solid #000;
margin: 100px auto;
overflow: hidden;
}
li{
float: left;
width: 300px;
height: 200px;
}
ul{
width: 9000px;
position: relative;
}
li:nth-of-type(1),li:nth-of-type(5){
background: deeppink;
}
li:nth-of-type(2),li:nth-of-type(6){
background: cornflowerblue;
}
li:nth-of-type(3){
background: blue;
}
li:nth-of-type(4){
background: purple;
}
</style>
</head>
<body>
<div id="box">
<ul id="oul">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>1</li>
<li>2</li>
</ul>
</div>
<script type="text/javascript">
var oli = document.getElementsByTagName('li');
var num = 0;
//滑动效果
var timer;
function go(){
clearInterval(timer);
timer = setInterval(function(){
num--;
if(num<-1200){
num = 0;
}
oul.style.left = num + 'px';
},24);
}
go();
//鼠标移入li,停止定时器,当前li透明度为1,其它的为0.8
for(var i = 0;i<oli.length;i++){
oli[i].onmouseenter = function(){
//停止定时器
clearInterval(timer);
//其余透明度为0.5
for(var j = 0;j<oli.length;j++){
oli[j].style.opacity = 0.5;
}
//当前透明度为1
this.style.opacity = 1;
}
//鼠标移入li,开始定时器,全部li透明度为1
oli[i].onmouseleave = function(){
go();
for(var j = 0;j<oli.length;j++){
oli[j].style.opacity = 1;
}
}
}
</script>
</body>
</html>