讓圖片跳躍起來 javascript圖片輪播特效
圖片輪播效果,在現(xiàn)在的網(wǎng)站的首頁,差不多是必備的效果顯示. 所以我從三個(gè)方面來講解這一效果的簡(jiǎn)單實(shí)現(xiàn).
- 圖片跳動(dòng)起來
- 圖片序列控制的實(shí)現(xiàn)
- 前后按鈕控制的實(shí)現(xiàn)
這篇文章來看圖片按照間隔時(shí)間進(jìn)行切換.
我們先把結(jié)構(gòu)代碼完成,這個(gè)我就不做詳細(xì)的講解了.看效果

代碼如下:
<!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>
好的,現(xiàn)在我們來通過JS控制圖片的跳轉(zhuǎn).
首先我們需要找到圖片所在的位置,這里我們是通過ul來進(jìn)行布局的所以首先得找到UL下的LI的數(shù)目
接著讓圖片一張一張的展示,我們使用了視窗的模式,就是遮罩層的模式.#slider是一個(gè)視窗,ul是視窗外的景色,而ul得景色是橫向排版的
然后就是讓外面的景色顯示為視窗的大小,也就是讓每一張圖片作為每一次的視窗景色,這里就是控制圖片的大小要與視窗同等大小.
上面講解的是一個(gè)概念,也就是布局的處理,下面我們JS的控制了,要實(shí)現(xiàn)圖片間隔的顯示不同.我們就需要用到JS的setInterval或者setTimeout.這里我們使用setInterval(因?yàn)檫@個(gè)用起來方便.)
每跳轉(zhuǎn)一次,我們控制的是UL的position的left,這樣就可以讓ul下的景色,在每一次都是顯示不一樣,而這個(gè)left是根據(jù)視窗的寬度來決定,第一張left當(dāng)然是-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代碼這樣看起來就很簡(jiǎn)單了. 我這里是設(shè)置2秒跳轉(zhuǎn)依次,然后跳轉(zhuǎn)的次數(shù)大于等于圖片的數(shù)目后,讓其返回到第一張圖片.

希望本文所述對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
js實(shí)現(xiàn)人才網(wǎng)站職位選擇功能的方法
這篇文章主要介紹了js實(shí)現(xiàn)人才網(wǎng)站職位選擇功能的方法,涉及javascript動(dòng)態(tài)操作頁面元素結(jié)點(diǎn)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
關(guān)于JS中的apply,call,bind的深入解析
下面小編就為大家?guī)硪黄P(guān)于JS中的apply,call,bind的深入解析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-04-04
移動(dòng)端使用localResizeIMG4壓縮圖片
這篇文章主要為大家詳細(xì)介紹了移動(dòng)端使用localResizeIMG4壓縮圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
JavaScript樹形結(jié)構(gòu)數(shù)組處理之遞歸問題
這篇文章主要介紹了JavaScript樹形結(jié)構(gòu)數(shù)組處理之遞歸問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
完美實(shí)現(xiàn)js選項(xiàng)卡切換效果(二)
這篇文章主要為大家詳細(xì)介紹如何完美實(shí)現(xiàn)js選項(xiàng)卡切換效果,通過設(shè)置定時(shí)器實(shí)現(xiàn)延時(shí)0.5s切換選項(xiàng)卡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

