完美的js圖片輪換效果
更新時間:2017年02月05日 11:16:11 作者:秋天1014童話
這篇文章主要為大家詳細介紹了完美的js圖片輪換效果,包括左右移動和緩動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js輪播圖焦點的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>輪播圖焦點</title> <meta content="還是有地點小瑕疵,1左轉(zhuǎn)變4,4右轉(zhuǎn)變1的時候,圖片切換有空白,換下動畫模式應(yīng)該可以?"> <style> *{ padding: 0; margin: 0; } ul{ list-style: none; } .scroll{ width: 300px; height: 200px; border: 1px solid red; margin: 100px auto; position: relative; overflow: hidden; } .scroll ul.imgUl{ width: 400%; position: absolute; top: 0; left: 0; } .scroll ul.imgUl li{ float: left; } .scroll .imgUl img{ vertical-align: middle; /* 消除圖片間3px的間距 */ } .scroll ul.focus{ position: absolute; left: 50%; bottom: 10px; margin-left: -80px; } .scroll ul.focus li{ width: 20px; height: 20px; padding: 5px; text-align: center; margin-right: 10px; border: 2px solid yellow; float: left; color: red; font-weight: 700; background-color: #333; color: white; } .scroll ul.focus li.current{ background-color: deeppink; } .scroll .arrow{ width: 100%; position: absolute; top: 50%; left: 0; margin-top: -20px; display: none; } .scroll .arrow div{ width: 40px; height: 40px; font: 700 18px/40px "宋體"; text-align: center; background: rgba(0,0,0,.3); color: #fff; cursor: pointer; } .scroll .arrow div.left{ float: left; } .scroll .arrow div.right{ float: right; } </style> <script> window.onload = function(){ function $(id){ return document.getElementById(id);} var scrollDiv = $('scrollDiv'); var imgul = $('images'); var focusUl = $('focuses'); var imgLis = imgul.children; var leader = 0, target = 0; var curIndex = 0;//記錄當前圖片的序號 var leftArrow = $('leftArrow'); var rightArrow = $('rightArrow'); //可自動生成和圖片對應(yīng)的序號 /*for(var i=0; i< imgLis.length; i++){ var newLi = document.createElement('li'); newLi.innerHTML=i+1; focusUl.appendChild(newLi); }*/ var focusLis = focusUl.children; for(var i=0; i<focusLis.length; i++){ focusLis[i].index = i; focusLis[i].onmouseover = function(){ curIndex = this.index; switchFocus(curIndex); target = -this.index * 300; } } scrollDiv.onmouseover = function(){ $('arrowDiv').style.display="block"; clearInterval(timer); } scrollDiv.onmouseout = function(){ $('arrowDiv').style.display="none"; timer = setInterval(autoPlay,3000); } leftArrow.onclick = function(){ target +=300; curIndex = curIndex==0 ? focusLis.length-1 : curIndex-1; switchFocus(curIndex); } rightArrow.onclick = function(){ target -=300; curIndex = (curIndex+1) % focusLis.length; switchFocus(curIndex); } //緩動效果 setInterval(function(){ if(target > 0){ target = -900; leader = -1000; }else if(target < -900){ target = 0; leader = 100; } leader = leader + (target - leader) / 10; imgul.style.left = leader +"px"; } ,10); switchFocus(0); //每隔3s左移圖片 var timer = null; timer = setInterval(autoPlay,3000); function autoPlay(){ target -= 300; curIndex = (curIndex+1) % focusLis.length; switchFocus(curIndex); } //轉(zhuǎn)換樣式 function switchFocus(curIndex){ for(var j=0; j<focusLis.length;j++){ focusLis[j].className=""; } focusLis[curIndex].className="current"; } } </script> </head> <body> <div class="scroll" id="scrollDiv"> <ul class="imgUl" id="images"> <li><img src="images/01.jpg" alt=""></li> <li><img src="images/02.jpg" alt=""></li> <li><img src="images/03.jpg" alt=""></li> <li><img src="images/04.jpg" alt=""></li> </ul> <ul class="focus" id="focuses"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <div class="arrow" id="arrowDiv"> <div class="left" id="leftArrow"><</div> <div class="right" id="rightArrow">></div> </div> </div> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript黑洞數(shù)字之運算路線查找算法(遞歸算法)實例
這篇文章主要介紹了JavaScript黑洞數(shù)字之運算路線查找算法,涉及JavaScript遞歸操作算法相關(guān)技巧,需要的朋友可以參考下2016-01-01隨機生成10個不重復(fù)的0-100的數(shù)字(實例講解)
下面小編就為大家?guī)硪黄S機生成10個不重復(fù)的0-100的數(shù)字(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08基于JS實現(xiàn)密碼框(password)中顯示文字提示功能代碼
這篇文章主要介紹了實現(xiàn)密碼框(password)中顯示文字提示功能代碼,在項目開發(fā)中經(jīng)常會用到,需要的朋友可以參考下2016-05-05