這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)swiper實(shí)現(xiàn)輪播效果,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、電商網(wǎng)站開發(fā),成都微信小程序,軟件定制設(shè)計(jì)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。需要解決的問題uni-app已經(jīng)在基礎(chǔ)組件swiper中已經(jīng)直接支持了輪播動(dòng)畫。
animate.css
動(dòng)畫。swiper-item
中。也就是跳轉(zhuǎn)到指定的屏。uni-app開發(fā),所以在小程序中和H5中測(cè)試都沒有問題。另外為了方便小程序
開發(fā)同學(xué)了解,會(huì)提供小程序
版代碼和uni-app
代碼供參考。
animate.css,其中刪掉了很多-webkit-animation
開頭的css3。因?yàn)槲覀冎恍枰谛〕绦蚝虷5中運(yùn)行,這樣做影響也不大。如果需要的話,可以從下面的代碼中獲取。
uni-app
支持sass。在css中直接引入了簡(jiǎn)潔版animate.css
。問題①circular
這個(gè)參數(shù)可以實(shí)現(xiàn)類似H5頁面使用swiper.jsloop
參數(shù)的功能。這里我掉到了uni-app
和微信小程序
文檔描述的坑中。因?yàn)橐恢痹谡?code >loop(循環(huán))這個(gè)參數(shù),我甚至都以為實(shí)現(xiàn)不了這個(gè)無限循環(huán)的功能了呢。原來小程序
中這個(gè)參數(shù)叫做circular
(圓形)。o(╯□╰)o 問題③vertical
設(shè)置為true
。uni-app
中,通過change
事件,可以監(jiān)聽每一個(gè)輪播屏的改變。在這個(gè)事件中,我記錄的當(dāng)前屏的下標(biāo)current
。然后將非當(dāng)前屏的全部css3動(dòng)畫取消掉。最后在animationfinish
事件中,當(dāng)swiper
滑動(dòng)動(dòng)畫結(jié)束后,給當(dāng)前屏的元素添加css3動(dòng)畫。問題②uni-app
中有個(gè)current-item-id
參數(shù),代表當(dāng)前所在滑塊的 item-id
。這個(gè)文檔我看了好久,才明白。原來是需要在swiper-item
中指定上item-id
。然后當(dāng)用戶點(diǎn)擊事件觸發(fā)時(shí),修改綁定到current-item-id
上的值即可。我的代碼初始化時(shí)指定到了item-id
為slide2
這一屏上。問題④uni-app
中隱藏掉H5導(dǎo)航欄。只需要在pages.json
中設(shè)置titleNView
為false
即可。//index.js const app = getApp() Page({ data: { currentId: 0, animate_0: 'swing', animate_1: '', animate_2: '' }, onLoad: function() { }, goChange: function() { this.setData({ currentId: 2 }); }, changeSwiper: function(event) { let current = event.detail.current; switch (current) { case 0: this.setData({ animate_1: '', animate_2: '' }); break; case 1: this.setData({ animate_0: '', animate_2: '' }); break; case 2: this.setData({ animate_0: '', animate_1: '' }); break; } }, changeFinish: function(event) { let current = event.detail.current; switch (current) { case 0: this.setData({ animate_0: 'swing', }); break; case 1: this.setData({ animate_1: 'shake', }); break; case 2: this.setData({ animate_2: 'tada', }); break; } } })
unpackage/dist/build/h6中,就是生成好的H5版頁面。需要注意的是,要部署到web服務(wù)器使用,不支持本地file協(xié)議打開。
其中生成了兩個(gè)版本的代碼,方便大家參考。
上述就是小編為大家分享的swiper實(shí)現(xiàn)輪播效果了,如果您也有類似的疑惑,不妨參照上述方法進(jìn)行嘗試。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。