這篇文章主要介紹“微信小程序swiper-dot中的點(diǎn)怎么改成滑塊”,在日常操作中,相信很多人在微信小程序swiper-dot中的點(diǎn)怎么改成滑塊問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”微信小程序swiper-dot中的點(diǎn)怎么改成滑塊”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到千陽(yáng)網(wǎng)站設(shè)計(jì)與千陽(yáng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋千陽(yáng)地區(qū)。
整體來看很簡(jiǎn)單。主要是下邊的滑塊需要花一些功夫。整理需求之后需要實(shí)現(xiàn)的功能點(diǎn)如下:
滑塊需要有一個(gè)自然的滑動(dòng)效果。
滑塊需要跟著滑動(dòng)方向滑動(dòng)。
經(jīng)過整理,實(shí)現(xiàn)方案如下:
在滑動(dòng)swiper的content的時(shí)候,我們可以獲取當(dāng)前頁(yè)面的curPage(一般情況下組件都會(huì)提供當(dāng)前頁(yè)),接著我們可以在滑動(dòng)結(jié)束之后設(shè)置上一個(gè)頁(yè)面的prePage,這個(gè)prePage其實(shí)就是本次的curPage。通過這個(gè)page我們可以得到滑塊滑動(dòng)的起始位置以及結(jié)束位置。
滑動(dòng)我們可以通過transform來實(shí)現(xiàn)。
因?yàn)橛昧藅ransform,所以我們需要小程序支持自定義style,但目前來看小程序提供了一套this.animate的方法。
首先我們需要使用swiper的change事件,代碼如下:
<swiper class="hot-content-swiper" indicator-dots="{{indicatorDots}}" vertical="{{vertical}}" bindchange="sliderHandler"> <block wx:for="{{popular_zone_list}}" wx:key="*this"> <swiper-item> <view class="hot-list"> 這個(gè)是swiper{{index}} </view> </swiper-item> </block> </swiper>
其次,我們需要自定dot的DOM,也就是我們的滑塊區(qū)域,代碼如下:
<view class="dot"> <view class="dot-bar" style="width: {{dotBarWidth}}rpx"></view> </view>
這其中需要給我們的滑塊一個(gè)初始化的大小,不然滑動(dòng)之后會(huì)有一個(gè)寬度變換的抖動(dòng),也就是dotBarWidth。
這個(gè)滑塊的大小是基于滑道的長(zhǎng)度,以及swiper-item的數(shù)量來計(jì)算的。這樣子得到寬度之后我們只要偏移滑塊寬度的倍數(shù)即可。
let dotWidth = 100; let dotBarWidth = Math.round(dotWidth/popular_zone_list.length);
模板已經(jīng)寫完了,那我們就開始寫change的事件,代碼如下:
sliderHandler({detail}) { let curPage = detail.current; let self = this; this.animate(".dot-bar", [ { translateX: self.prePage * 100 + "%", transformOrigin: "center", }, { translateX: curPage*100 + "%", transformOrigin: "center", }, ], 100, function () { //animate的回調(diào) self.prePage = curPage; self.clearAnimation(".container", { translateX: true, transformOrigin: true }); }); }, // 如果不是小程序,那么this.animate這個(gè)換成動(dòng)態(tài)綁定style,或者其他的DOM操作即可。
到此,關(guān)于“微信小程序swiper-dot中的點(diǎn)怎么改成滑塊”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
網(wǎng)站標(biāo)題:微信小程序swiper-dot中的點(diǎn)怎么改成滑塊
標(biāo)題路徑:http://chinadenli.net/article42/ihohec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作、App設(shè)計(jì)、、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)