怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的武陵源網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一、首先需要在項(xiàng)目中引入better-scroll

1. 在package.json 直接寫入 "better-scroll":"^1.11.1"  版本以github上為準(zhǔn)(目前最新)

2.cpnm install  在node_modules  可以查看版本是否安裝

3.直接在你的組件里面寫入import BScroll from 'better-scroll';

二、better-scroll優(yōu)點(diǎn)

1.體驗(yàn)像原生:滾動(dòng)非常流暢,而且沒有滾動(dòng)條。

2.滾動(dòng)位置固定:在vue中通過路由切換頁面時(shí)組件會(huì)自動(dòng)滾動(dòng)到頂部,需要監(jiān)聽滾動(dòng)行為才能讓滾動(dòng)位置固定,better-scroll解決了這個(gè)問題。

三、下面是在項(xiàng)目中的使用

先給大家介紹最終要實(shí)現(xiàn)的效果

        就是移動(dòng)端很常見的效果,當(dāng)滑動(dòng)右邊部分的時(shí)候,左邊會(huì)聯(lián)動(dòng)顯示與當(dāng)前內(nèi)容相符合的標(biāo)題高亮,當(dāng)點(diǎn)擊左邊某一個(gè)標(biāo)題的時(shí)候,右邊會(huì)自動(dòng)滑動(dòng)到相應(yīng)的內(nèi)容。

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

實(shí)現(xiàn)及說明

1.滾動(dòng)效果

better-scroll在使用的時(shí)候需要在dom元素渲染完成之后初始化better-scroll的實(shí)例,初始化的時(shí)候,先要獲取需要滑動(dòng)的元素,然后在初始化的時(shí)候?qū)@取到的元素傳遞給初始化函數(shù),此時(shí)便可實(shí)現(xiàn)滑動(dòng)效果

2.左右聯(lián)動(dòng)效果

左右聯(lián)動(dòng)效果的實(shí)現(xiàn),是better-scroll通過監(jiān)聽事件實(shí)現(xiàn)的。

首先獲取到右邊內(nèi)容盒子的高度,然后獲取到該盒子中每一項(xiàng)的高度并做前n項(xiàng)高度累加(第n項(xiàng)的高度是前n項(xiàng)的高度和)存儲(chǔ)到listHeight數(shù)組中。在初始化的時(shí)候傳遞屬性probeType=3 (探針的效果,時(shí)時(shí)獲取滾動(dòng)高度),并給右邊的內(nèi)容盒子對象監(jiān)聽scroll事件,從而時(shí)時(shí)獲取Y軸位置,來與listHeight數(shù)組中的數(shù)據(jù)做比較,時(shí)時(shí)計(jì)算當(dāng)前的索引值,并給對邊對應(yīng)索引值的項(xiàng)添加背景色高亮,從而實(shí)現(xiàn)右邊滑動(dòng),聯(lián)動(dòng)左邊。

當(dāng)點(diǎn)擊左邊的每一項(xiàng)的時(shí)候,獲取到當(dāng)前的索引值,并根據(jù)當(dāng)前的索引值獲取到與右邊內(nèi)容盒子中對應(yīng)索引的元素,右邊的盒子元素通過監(jiān)聽scrollToElement,并傳遞獲取到的對應(yīng)索引元素和動(dòng)畫時(shí)間,從而實(shí)現(xiàn)點(diǎn)擊左邊,實(shí)現(xiàn)右邊聯(lián)動(dòng);

實(shí)現(xiàn)代碼如下:

html結(jié)構(gòu)

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

demo中用到的數(shù)據(jù)結(jié)構(gòu)

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

demo中用到的方法

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

方法的調(diào)用

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

屬性計(jì)算

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

樣式不做過多介紹

需要注意的是,該頁面的這一部分給了固定的高度,且超出部分overflow:hidden;

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

3.better-scroll實(shí)現(xiàn)水平滑動(dòng)效果

項(xiàng)目中經(jīng)常會(huì)遇到需要水平滑動(dòng)的需求,現(xiàn)在就用better-scroll來實(shí)現(xiàn)它

better-scroll的使用方式跟上邊的說明是一樣,只是配置項(xiàng)發(fā)生了變化,下面將代碼貼出來,就明了了。

template部分

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

js部分

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

css部分

怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果

看完上述內(nèi)容,你們對怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

新聞名稱:怎么在vue中使用better-scroll實(shí)現(xiàn)一個(gè)滑動(dòng)效果-創(chuàng)新互聯(lián)
文章分享:http://muchs.cn/article48/csjjhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航品牌網(wǎng)站制作、網(wǎng)站收錄服務(wù)器托管、網(wǎng)站導(dǎo)航、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)