JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果
更新時(shí)間:2017年01月18日 08:35:35 作者:秋天1014童話(huà)
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了js圖片輪播的具體代碼,供大家參考,具體內(nèi)容如下
主要html代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" type="text/css" href="css/css.css"> <script type="text/javascript" src="js/animate.js"></script> </head> <body> <div class="w-wrap" id="js_wrap"> <div class="wrap-slide" id="wrap_slide"> <ul> <li><a href="#"><img src="images/slidepic1.jpg" alt=""></a></li> <li><a href="#"><img src="images/slidepic2.jpg" alt=""></a></li> <li><a href="#"><img src="images/slidepic3.jpg" alt=""></a></li> <li><a href="#"><img src="images/slidepic4.jpg" alt=""></a></li> <li><a href="#"><img src="images/slidepic5.jpg" alt=""></a></li> <!-- <li><a href="#"><img src="images/slidepic6.jpg" alt=""></a></li> --> </ul> <div class="wrap-slide-arrow" id="wrap_slide_arrow"> <a href="javascript:;" class="prev"></a> <a href="javascript:;" class="next"></a> </div> </div> </div> <script> function $(id){ return document.getElementById(id);} var js_wrap = $("js_wrap"); var wrap_slide = $("wrap_slide"); var wrap_slide_arrow = $("wrap_slide_arrow"); var lis = wrap_slide.children[0].children; var json = [ { //1 width: 400, top: 20, left: 50, opacity: 20, z: 2 }, { //2 width: 600, top: 70, left: 0, opacity: 80, z: 3 }, { //3 width: 800, top: 100, left: 200, opacity: 100, z: 4 }, { //4 width: 600, top: 70, left: 600, opacity: 80, z: 3 }, { //5 width: 400, top: 20, left: 750, opacity: 20, z: 2 }/*, { //6 width: 300, top: 10, left: 400, opacity: 10, z: 1 }*/ ] change(); //將各個(gè)圖片按照json鋪開(kāi)層次 var jieliu = true; //兩個(gè)按鈕點(diǎn)擊事件 var as = wrap_slide_arrow.children; for(var k in as){ as[k].onclick = function(){ if(this.className == "prev"){ /*alert("左側(cè)按鈕");*/ //所有圖片逆時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的第一個(gè)刪除并插到最后一個(gè) if(jieliu == true){ change(false); jieliu = false; } }else if(this.className == "next"){ /*alert("右側(cè)按鈕");*/ //所有圖片順時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的最后一個(gè)刪除并插到第一個(gè) if(jieliu == true){ change(true); jieliu = false; } } } } function change(flag){ if(flag){ //所有圖片順時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的最后一個(gè)刪除并插到第一個(gè) json.unshift(json.pop()); }else{ //所有圖片逆時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的第一個(gè)刪除并插到最后一個(gè) json.push(json.shift()); } for(var k in json){ animate(lis[k],{ width: json[k].width, top: json[k].top, left: json[k].left, opacity: json[k].opacity, zIndex: json[k].z },function(){ jieliu = true;}); //當(dāng)動(dòng)畫(huà)執(zhí)行完,執(zhí)行回調(diào)函數(shù),此時(shí)置節(jié)流為true } } var timer = null; timer = setInterval(autoPlay,2000); function autoPlay(){ if(jieliu == true){ change(true); jieliu = false; } } js_wrap.onmouseover = function(){ clearInterval(timer); animate(wrap_slide_arrow,{opacity:100}); } js_wrap.onmouseout = function(){ clearInterval(timer); timer = setInterval(autoPlay,2000); animate(wrap_slide_arrow,{opacity:0}); } /*js_wrap.onmouseover = function(){ animate(wrap_slide_arrow,{opacity:100}); } js_wrap.onmouseout = function(){ animate(wrap_slide_arrow,{opacity:0}); }*/ </script> </body> </html>
主要css代碼:
/*初始化 reset*/ blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0} body,button,input,select,textarea{font:12px/1.5 "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", sans-serif;color: #666;} ol,ul{list-style:none} a{text-decoration:none} fieldset,img{border:0;vertical-align:top;} a,input,button,select,textarea{outline:none;} a,button{cursor:pointer;} .w-wrap{ width: 1200px; margin: 100px auto; } .wrap-slide{ position: relative; } .wrap-slide li{ position: absolute; left: 200px; top: 0; } .wrap-slide li img{ width: 100%; } .wrap-slide-arrow{ opacity: 0; position: relative; } .prev,.next{ width: 76px; height: 112px; position: absolute; top: 50%; margin-top: -56px; background: url(../images/prev.png) no-repeat; } .next{ right: 0; background: url(../images/next.png) no-repeat; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單了解TypeScript中如何繼承 Error 類(lèi)
這篇文章主要介紹了簡(jiǎn)單了解TypeScript中如何繼承 Error 類(lèi),一個(gè)典型的網(wǎng)站服務(wù)器可能需要有 NetworkError, DatabaseError, UnauthorizedError 等。 我們希望這些類(lèi)都擁有 Error 的特性:有錯(cuò)誤消息、有調(diào)用棧、有方便打印的 toString 等。,需要的朋友可以參考下2019-06-06javascript 函數(shù)參數(shù)原來(lái)是可以有缺省值的
前幾天看 javaEye 時(shí)看到一個(gè)童鞋寫(xiě)的 getElementsByClassName 函數(shù)。2010-07-07JavaScript實(shí)現(xiàn)圖片偽異步上傳過(guò)程解析
這篇文章主要介紹了javascript實(shí)現(xiàn)圖片偽異步上傳過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn)
這篇文章主要介紹了Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10JavaScript獲取上傳進(jìn)度的幾種方式實(shí)現(xiàn)
進(jìn)度條的應(yīng)用是為了顯示的告訴用戶(hù)文件上傳了多少,本文主要介紹了JavaScript獲取上傳進(jìn)度的幾種方式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08