無縫滾動的結(jié)構(gòu):一共兩個盒子,第一個大盒子下套第二個大盒子,第二個大盒子下有4張圖片,第一個大盒子寬度固定為600px,第二個大盒子寬度是400%;
原理:第一個盒子相對浮動,第二個盒子絕對浮動,讓第二個盒子的left值一直變化。當(dāng)left值小于等于4張圖片的寬度的時候,讓left值瞬間歸0,用戶看不到,以為是無縫滾動。
例子:
<!DOCTYPE html>
<html>
<head lang=”en”>
<meta charset=”UTF-8″>
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
.box{
width: 600px;
height: 200px;
background-color: pink;
margin: 100px auto;
overflow: hidden;
border: 3px solid red;
position: relative;
}
.box ul{
width: 400%;
height: 200px;
position: absolute;
top: 0;
left: 0;
}
.box ul li{
list-style: none;
float: left;
}
.box ul li img{
vertical-align: middle;
}
</style>
</head>
<body>
<div class=”box” id=”myscroll”>
<ul>
<li><img src=”images/1.jpg” alt=””/></li>
<li><img src=”images/2.jpg” alt=””/></li>
<li><img src=”images/3.jpg” alt=””/></li>
<li><img src=”images/4.jpg” alt=””/></li>
<li><img src=”images/1.jpg” alt=””/></li>
<li><img src=”images/2.jpg” alt=””/></li>
</ul>
</div>
</body>
</html>
<script>
var myscroll = document.getElementById(“myscroll”);
var myscroll_ul = myscroll.children[0];
var num = 0; //控制左側(cè)值 left
var timer = null;//定時器
timer = setInterval(autoPlay,10);
function autoPlay(){
num–;
num<=-1200 ? num = 0 : num ;
myscroll_ul.style.left=num+”px”;
myscroll.onmouseover = function () {
clearInterval(timer);//鼠標(biāo)經(jīng)過大盒子 停止定時器timer
}
myscroll.onmouseout = function(){
timer = setInterval(autoPlay,10); //開啟定時器 名字還是叫timer
}
}
</script>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
注意:如果圖片有4張的話,代碼里需要寫6張,第5,6兩張是復(fù)制的第1,2兩張;
本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://zmlzfb.cn/shbk/39087.html