最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中使用better-scroll實現(xiàn)滑動效果及注意事項

 更新時間:2018年11月15日 15:01:16   作者:廊橋夢醉  
這篇文章主要介紹了vue中使用better-scroll實現(xiàn)滑動效果,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下

一、首先需要在項目中引入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)點

1.體驗像原生:滾動非常流暢,而且沒有滾動條。

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

三、下面是在項目中的使用

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

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

實現(xiàn)及說明

1.滾動效果

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

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

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

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

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

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

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

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

demo中用到的方法

方法的調(diào)用

屬性計算


樣式不做過多介紹

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

3.better-scroll實現(xiàn)水平滑動效果

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

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

template部分

js部分

css部分

注意事項:

1.tab_content是內(nèi)容的盒子,他的長度就是內(nèi)容的寬度;

2.由于內(nèi)容的盒子是需要滑動的,所以在內(nèi)容盒子的外邊還需要在加一層盒子,寬度為100%。

better-scroll插件git地址https://github.com/ustbhuangyi/better-scroll

總結(jié)

以上所述是小編給大家介紹的vue中使用better-scroll實現(xiàn)滑動效果及注意事項,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 對vuex中store和$store的區(qū)別說明

    對vuex中store和$store的區(qū)別說明

    這篇文章主要介紹了對vuex中store和$store的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vite+vue3項目中使用SVG方式

    vite+vue3項目中使用SVG方式

    這篇文章主要介紹了vite+vue3項目中使用SVG方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解Vue.js v-for不支持IE9的解決方法

    詳解Vue.js v-for不支持IE9的解決方法

    這篇文章主要介紹了詳解Vue.js v-for不支持IE9的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 使用vue實現(xiàn)玉兔迎春圖高亮示例詳解

    使用vue實現(xiàn)玉兔迎春圖高亮示例詳解

    這篇文章主要為大家介紹了使用vue實現(xiàn)玉兔迎春圖高亮示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • vue+element-ui中form輸入框無法輸入問題的解決方法

    vue+element-ui中form輸入框無法輸入問題的解決方法

    很多初次接觸element-ui的同學(xué),在用到element form組件時可能會遇到input框無法輸入文字的問題,下面這篇文章主要給大家介紹了關(guān)于vue+element-ui中form輸入框無法輸入問題的解決方法,需要的朋友可以參考下
    2023-04-04
  • Vue的data為啥只能是函數(shù)原理詳解

    Vue的data為啥只能是函數(shù)原理詳解

    這篇文章主要為大家介紹了Vue的data為啥只能是函數(shù)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • ElementUI如何修改Dialog的標(biāo)題樣式

    ElementUI如何修改Dialog的標(biāo)題樣式

    這篇文章主要介紹了ElementUI如何修改Dialog的標(biāo)題樣式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 在原生HTML中使用VUE的保姆級教學(xué)

    在原生HTML中使用VUE的保姆級教學(xué)

    Vue.js是一種流行的JavaScript框架,用于構(gòu)建交互式的Web應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于在原生HTML中使用VUE的保姆級教學(xué),需要的朋友可以參考下
    2023-10-10
  • 創(chuàng)建vue項目沒有router、view的解決辦法

    創(chuàng)建vue項目沒有router、view的解決辦法

    在學(xué)習(xí)vue的時候遇到很多問題,這里做一些總結(jié),下面這篇文章主要給大家介紹了關(guān)于創(chuàng)建vue項目沒有router、view文件夾的解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 基于Vue構(gòu)建簡單的Markdown編輯器

    基于Vue構(gòu)建簡單的Markdown編輯器

    在現(xiàn)代前端開發(fā)中,Markdown作為一種輕量級的文本標(biāo)記語言,越來越受到開發(fā)者和內(nèi)容創(chuàng)作者的青睞,本文我們就來使用Vue.js構(gòu)建一個簡單的Markdown編輯器吧
    2025-02-02

最新評論

台前县| 梅州市| 军事| 黄陵县| 横峰县| 桂平市| 武平县| 民勤县| 维西| 甘孜县| 昔阳县| 峨山| 永寿县| 麦盖提县| 景洪市| 富顺县| 全椒县| 秀山| 桃源县| 额济纳旗| 阜宁县| 成都市| 江源县| 神农架林区| 繁昌县| 江津市| 囊谦县| 绥中县| 襄城县| 博罗县| 富顺县| 桂东县| 安阳县| 会东县| 鄯善县| 陆良县| 新津县| 麻城市| 克东县| 汕头市| 文水县|