首頁  >  文章  >  web前端  >  Javascript實作圖片輪播效果(一)讓圖片跳動起來_javascript技巧

Javascript實作圖片輪播效果(一)讓圖片跳動起來_javascript技巧

WBOY
WBOY原創
2016-05-16 15:15:131306瀏覽

圖片輪播效果,在各大網站的首頁都能看到,比較常見。下面小編給大家分享這效果的簡單實作。

1.圖片跳動起來

2.圖片序列控制的實現

3.前後按鈕控制的實現

這篇文章來看圖片依照間隔時間切換.

我們先把結構程式碼完成,這個我就不做詳細的講解了.先給大家展示下效果圖:

程式碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
box-sizing: border-box;
}
a {
text-decoration: none;
}
ul,ol,li{
list-style: none;
margin: 0;
padding: 0;
}
#slider{
width: 800px;
height: 300px;
overflow: hidden;
position: relative;
margin: 0 auto;
}
#slider ul{
width: 2400px;
position: relative;
}
#slider ul:after{
content: " ";
width: 0;
height: 0;
display: block;
}
#slider ul li{
float: left;
width: 800px;
height: 300px;
overflow: hidden;
}
#slider ul li img{
width: 100%;
}
#slider ol{
position: absolute;
bottom: 10px;
left: 46%;
}
#slider ol li{
display: inline-block;
}
#slider ol li a{
display: inline-block;
padding:4px 8px;
border-radius:15px;
background-color: #000;
color: #fff;
}
#slider .prev, #slider .next{
display: inline-block;
position: absolute;
top: 49%;
background-color: #000;
opacity: 0.6;
color: #fff;
padding: 3px;
}
#slider .prev{
left: 10px;
}
#slider .next{
right: 10px;
}
</style>
</head>
<body>
<div id="slider">
<ul>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-1.jpg" /> </li>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-2.jpg" /> </li>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-3.jpg" /> </li>
</ul>
<ol>
<li> <a href="#">1</a> </li>
<li> <a href="#">2</a> </li>
<li> <a href="#">3</a> </li>
</ol>
<a href="#">上一张</a>
<a href="#">下一张</a>
</div>
</body>
</html>

好的,現在我們來透過JS控制圖片的跳躍.

首先我們需要找到圖片所在的位置,這裡我們是透過ul來進行佈局的所以首先得找到UL下的LI的數目

接著讓圖片一張一張的展示,我們使用了視窗的模式,就是遮罩層的模式.#slider是一個視窗,ul是視窗外的景色,而ul得景色是橫向排版的

然後就是讓外面的景色顯示為視窗的大小,也就是讓每一張圖片作為每一次的視窗景色,這裡就是控制圖片的大小要與視窗同等大小.

上面講解的是一個概念,也就是佈局的處理,下面我們JS的控制了,要實現圖片間隔的顯示不同.我們就需要用到JS的setInterval或者setTimeout.這裡我們使用setInterval(因為這個用起來方便.)

每跳轉一次,我們控制的是UL的position的left,這樣就可以讓ul下的景色,在每一次都是顯示不一樣,而這個left是根據視窗的寬度來決定,第一張left當然是-800 * 0 ,第二種就是-800*1,第三種是-800*2...依次類推.那我們就可以得出下面的代碼

<script>
(function(){
var slider = document.getElementById("slider");
var imgul = slider.getElementsByTagName("ul")[0];
var imglis = imgul.getElementsByTagName("li");
var len = imglis.length;
var index = 0;
setInterval(function(){
if(index >= len){
index = 0;
}
imgul.style.left = - (800 * index) + "px";
index++;
},2000);
})();
</script>

JS程式碼這樣看起來就很簡單了. 我這裡是設定2秒跳轉依次,然後跳轉的次數大於等於圖片的數目後,讓其返回到第一張圖片.

 

以上內容是小編給大家介紹Javascript實現圖片輪播效果(一)讓圖片跳動起來的全部內容,希望對大家有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn