原生JS實現(xiàn)勻速圖片輪播動畫_第1頁
原生JS實現(xiàn)勻速圖片輪播動畫_第2頁
原生JS實現(xiàn)勻速圖片輪播動畫_第3頁
原生JS實現(xiàn)勻速圖片輪播動畫_第4頁
原生JS實現(xiàn)勻速圖片輪播動畫_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

原生JS實現(xiàn)勻速圖片輪播動畫需求:1根據圖片動態(tài)添加小圓點2目標移動到小圓點輪播圖片3鼠標離開圖片,定時輪播圖片;鼠標在圖片上時暫停4左右兩側可點擊輪播圖片一、布局部分html部分<divclass="wmainclearfix"><!--主內容部分開始--><divclass="slider"><!--輪播圖部分開始--><ulclass="imgs"id="slider_imgs"><li><imgsrc="images/slider01.jpg"id="slider1"alt=""/></li><li><imgsrc="images/slider02.jpg"id="slider2"alt=""/></li><li><imgsrc="images/slider03.jpg"id="slider3"alt=""/></li><li><imgsrc="images/slider04.jpg"id="slider4"alt=""/></li><li><imgsrc="images/slider05.jpg"id="slider5"alt=""/></li><li><imgsrc="images/slider01.jpg"id="slider0"alt=""/></li></ul><divclass="arrow"id="arrow"><ahref="javascript:;"class="arrow_1"><</a><ahref="javascript:;"class="arrow_2">></a></div></div><!--輪播圖部分結束--></div>css部分.sliderul.imgs{height:453px;width:4380px;position:absolute;}.sliderul.imgsli{display:block;width:730px;height:453px;float:left;}.slider.circle{position:absolute;left:50%;bottom:8px;}.slider.circleli{cursor:pointer;float:left;width:18px;height:18px;margin:4px;background-color:#3e3e3e;border-radius:50%;text-align:center;color:#fff;}.slider.circleli.current{background:pink;color:white;}JS部分1這是勻速動畫函數的封裝/****obj:做動畫的DOM對象***target:對象最終運動到的目標位置(X軸)*/functionanimate(obj,target){//每次調用要先清定時器clearInterval(obj.Timer);//根據目標位置判斷移動的方向,每到目標位置步長為20,否則為-20varspeed=target>obj.offsetLeft?20:-20;obj.Timer=setInterval(function(){varleft=obj.offsetLeft;obj.style.left=left+speed+"px";varresult=target-left;//目標位置與當前位置在步長20以內,則到達目標位置if(Math.abs(result)<=20){//停止運動clearInterval(obj.Timer);//有20像素差距我們直接跳轉目標位置obj.style.left=target+"px";}},2函數:`這里寫代碼片0);}輪播圖封裝函數:functionslider(){//焦點圖信息DOM節(jié)點varimgs=document.getElementById("slider_imgs");varslides=imgs.parentNode;varlis=imgs.getElementsByTagName("li");vararrows=document.getElementById("arrow");vararrowLink=arrows.children;//創(chuàng)建小圓點varcircle=document.createElement("ol");circle.setAttribute("class","circle");imgs.parentNode.appendChild(circle);for(vari=0,len=lis.length-1;i<len;i++){varli=document.createElement("li");LHTML=i+1;circle.appendChild(li);}//marginLeft=-imgli(length)*olLi(width)/2circle.style.marginLeft=(-13*len)+"px";varolLis=circle.children;olLis[0].className="current";//為小圓點添加鼠標事件for(vari=0;i<olLis.length;i++){//當前小圓點索引olLis[i].index=i;olLis[i].onmouseover=function(){for(varj=0;j<olLis.length;j++){olLis[j].className="";}this.className="current";//圖片切換imgs的CSS部分加上定位animate(imgs,this.index*(-lis[0].offsetWidth));//當鼠標挪到定時器,當前播放圖片與原點位置回原k=z=p=q=this.index;};}//鼠標移動到輪播圖,不定時播放slides.onmouseover=function(){//清除自動輪播定時器clearInterval(Time);};//鼠標移開,自動輪播slides.onmouseout=function(){Time=setInterval(autoPlay,1000);};//定時器部分varTime=null,k=0,z=0;Time=setInterval(autoPlay,1000);//自動輪播圖片,定時器TimefunctionautoPlay(){k++;if(k>lis.length-1){imgs.style.left=0;k=1;}animate(imgs,k*(-lis[0].offsetWidth));z++;if(z>olLis.length-1){z=0;}for(varj=0;j<olLis.length;j++){olLis[j].className="";}olLis[z].className="current";}varq=0;varp=0;arrowLink[1].onclick=function(){q++;if(q>lis.length-1){imgs.style.left=0;q=1;}p++;if(p>olLis.length-1){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論