圖片輪播效果,在各大網站的首頁都能看到,比較常見。下面小編給大家分享這一效果的簡單實現。
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實現圖片輪播效果(一)讓圖片跳動起來的全部內容,希望對大家有所幫助。
新聞熱點
疑難解答