摘要:早前做輪播圖的時候,我們習慣在網(wǎng)上找一些現(xiàn)成的例子修改修改使用?,F(xiàn)在做輪播圖,像和等前端框架中都有封裝好的特效,直接拿過來使用就可以了。下面我們用原生代碼來手寫一個輪播圖的特效。
早前做輪播圖的時候,我們習慣在網(wǎng)上找一些現(xiàn)成的例子修改修改使用?,F(xiàn)在做輪播圖,像bootstrap和iview等前端框架中都有封裝好的特效,直接拿過來使用就可以了。但是輪播圖是怎么做的呢。下面我們用原生代碼來手寫一個輪播圖的特效。
實現(xiàn)效果如下:(圖片來自網(wǎng)絡(luò))
實現(xiàn)功能如下:
鼠標劃在左半部分出現(xiàn)左箭頭切換,鼠標劃在右半部分出現(xiàn)右箭頭切換。
點擊數(shù)字播放,當前播放頁數(shù)字背景透明度為1,非當前頁透明度為0.6
點擊縮略圖播放,當前播放頁縮略圖透明度為1,非當前頁縮略頭透明度為0.3
間隔2000ms自動播放(包括圖片、數(shù)字、縮略圖)。
根據(jù)前面運動知識,實現(xiàn)代碼如下:我們把前面總結(jié)的運動框架封裝在move.js中
move.js輪播圖
- 1
- 2
- 3
- 4
- 5
- 6
function getStyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; } else{ return getComputedStyle(obj,false)[name]; } } function startMove(obj, attr, iTarget) { clearInterval(obj.timer); obj.timer = setInterval(function() { var cur=0; if(attr==="opacity"){ cur=Math.round(parseFloat(getStyle(obj,attr))*100);//有可能會出現(xiàn)誤差0.07*100 } else{ cur=parseInt(getStyle(obj,attr)); } var speed = (iTarget - cur) / 6; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (cur === iTarget) { clearInterval(obj.timer); } else { if(attr==="opacity"){ obj.style.filter="alpha(opacity:"+cur+speed+")"; obj.style.opacity=(cur+speed)/100; }else{ obj.style[attr]=cur+speed+"px"; } } }, 30) }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/97218.html
摘要:綁定輪播事件然后是鼠標移入移出事件的綁定鼠標移入移出事件移入時停止輪播播放的定時器,移出后自動開始下一張的播放。 通過上一篇文章的學習,我們基本掌握了一個輪子的封裝和開發(fā)流程。那么這次將帶大家開發(fā)一個更有難度的項目——輪播圖,希望能進一步加深大家對于面向?qū)ο蟛寮_發(fā)的理解和認識。 So, Lets begin! 目前項目使用 ES5及UMD 規(guī)范封裝,所以在前端暫時只支持標簽的引入方式...
摘要:但是定時器沒關(guān)。通過變量來控制定時器內(nèi)函數(shù)的執(zhí)行停止播放默認為。方式三通過關(guān)閉定時器來停止輪播圖的運動。,通過傳入定時器的編號來。清除定時器,再開啟定時器。所以,每次打開定時器,先清除前一個。點擊頁面任何一個位置關(guān)閉定時器。 1.定時器 定義:當我們需要隔一段時間,再執(zhí)行一段代碼。或者每隔一段時間,執(zhí)行一段代碼。我們可以使用定時器。使用場景:例如網(wǎng)站輪播圖的自動滾動。廣告延遲彈出的某些...
摘要:但是定時器沒關(guān)。通過變量來控制定時器內(nèi)函數(shù)的執(zhí)行停止播放默認為。方式三通過關(guān)閉定時器來停止輪播圖的運動。,通過傳入定時器的編號來。清除定時器,再開啟定時器。所以,每次打開定時器,先清除前一個。點擊頁面任何一個位置關(guān)閉定時器。 1.定時器 定義:當我們需要隔一段時間,再執(zhí)行一段代碼。或者每隔一段時間,執(zhí)行一段代碼。我們可以使用定時器。使用場景:例如網(wǎng)站輪播圖的自動滾動。廣告延遲彈出的某些...
摘要:但是定時器沒關(guān)。通過變量來控制定時器內(nèi)函數(shù)的執(zhí)行停止播放默認為。方式三通過關(guān)閉定時器來停止輪播圖的運動。,通過傳入定時器的編號來。清除定時器,再開啟定時器。所以,每次打開定時器,先清除前一個。點擊頁面任何一個位置關(guān)閉定時器。 1.定時器 定義:當我們需要隔一段時間,再執(zhí)行一段代碼?;蛘呙扛粢欢螘r間,執(zhí)行一段代碼。我們可以使用定時器。使用場景:例如網(wǎng)站輪播圖的自動滾動。廣告延遲彈出的某些...
摘要:站在這個時間點上,我對自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時間的齒輪已經(jīng)來到了2017年的11月份,距離2018年僅僅還剩下不到兩...
閱讀 3340·2021-11-02 14:44
閱讀 3782·2021-09-02 15:41
閱讀 1785·2019-08-29 16:57
閱讀 1850·2019-08-26 13:38
閱讀 3366·2019-08-23 18:13
閱讀 2164·2019-08-23 15:41
閱讀 1728·2019-08-23 14:24
閱讀 3091·2019-08-23 14:03