這篇文章給大家分享的是有關(guān)原生JS如何實(shí)現(xiàn)帶緩動效果的圖片的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)主營平湖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),平湖h5小程序定制開發(fā)搭建,平湖網(wǎng)站營銷推廣歡迎平湖等地區(qū)企業(yè)咨詢
HTML部分:
- 1
- 2
- 3
- 4
- 5
這部分比較簡單,跟Tmall首頁效果一樣,幾張圖片,左下角是圖片索引,并有一個(gè)半透明的遮罩層。
CSS部分:
body,ul,li{ margin:0; padding:0; } ul{ list-style:none; } #J-Slide{ width:600px; height:400px; position:relative; margin:50px auto; overflow:hidden; } #J-Slide .JSlide-list{ position:absolute; width:3000px; left:0; top:0; } #J-Slide .JSlide-list li{ float:left; } #J-Slide .JSlide-list li img{ width:600px; height:400px; } #J-Slide .JSlide-num{ position:absolute; left:0; bottom:0; height:30px; padding:5px; width:100%; z-index:10; } #J-Slide .JSlide-num li{ width:30px; height:30px; margin-left:10px; float:left; font-size:16px; color:white; background:#716584; line-height:30px; text-align:center; cursor:pointer; border-radius:15px; } #J-Slide .JSlide-mask{ position:absolute; left:0; background:black; bottom:0; width:100%; height:40px; opacity:0.3; filter:Alpha(opacity = 30); z-index:1; } #J-Slide .JSlide-num .current{ background:#B91919; }
CSS部分比較簡單,直接用absolute定位。
JavaScript庫部分:
(function(){ /* *參數(shù)說明: *id 必須 *picwidth 可選 *speed 可選 * *作者:artwl *出處:http://artwl.cnblogs.com */ var JCP_Slide=function(id,picwidth,speed){ if(!(this instanceof JCP_Slide)) return new JCP_Slide(id,picwidth,speed); var obj=document.getElementById(id), childs=obj.getElementsByTagName("ul"); this.author="artwl"; this.jslideList=childs[0]; this.jslideNums=childs[1].children; this.speed= speed || 5000; this.picwidth= picwidth || (obj.currentStyle ? parseFloat(obj.currentStyle.width) : parseFloat(document.defaultView.getComputedStyle(obj,null).width)); this.currentIndex=0; this.distance=this.picwidth; this.currentLeftPos=0; this.runHandle=null; this.len=this.jslideNums.length; } JCP_Slide.prototype={ bindMouse:function(){ var self=this; for(var i=0;i這個(gè)JS庫是核心,入口有三個(gè)參數(shù),***個(gè)是最外層的div的id(必須),第二個(gè)參數(shù)是圖片寬度(可選),默認(rèn)為最外層DIV寬度,第三個(gè)參數(shù)為自動切換的時(shí)間間隔(可選),默認(rèn)為5秒。
bindMouse是綁定鼠標(biāo)的懸浮和移出事件,autoRun是讓圖片正動切換,play方法調(diào)用了這兩個(gè)方法。
easeOutCirc是一個(gè)先快后慢的緩動公式,transition是緩動函數(shù),這兩個(gè)方法的用法請參考司徒正美的博客:
調(diào)用示例:
window.onload=function(){ JCP_Slide("J-Slide").play(); };完整代碼為:
View CodeNew Document
- 1
- 2
- 3
- 4
- 5
運(yùn)行效果:
感謝各位的閱讀!關(guān)于“原生JS如何實(shí)現(xiàn)帶緩動效果的圖片”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)頁名稱:原生JS如何實(shí)現(xiàn)帶緩動效果的圖片
轉(zhuǎn)載來于:http://weahome.cn/article/pgcgpj.html