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

vue滾動插件better-scroll使用詳解

 更新時間:2019年10月18日 14:52:54   作者:ajuan  
這篇文章主要為大家詳細介紹了vue滾動插件better-scroll,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue滾動插件better-scroll的具體代碼,供大家參考,具體內(nèi)容如下

1. 概述

1.1 說明

better-scroll是一款重點解決移動端(已支持PC)各種滾動場景需求的插件。例如淘寶聚劃算中的類型選擇(女裝/家紡/生鮮美食等),沒有滾動條顯示卻實現(xiàn)了滾動功能。

1.2 better-scroll安裝

npm install better-scroll --save 安裝至項目中

1.3 better-scroll使用

better-scroll常見應(yīng)用場景(列表滾動)的html結(jié)構(gòu):

<div class="wrapper">
 <ul class="content">
 <li>...</li>
 <li>...</li>
 ...
 </ul>
 <!-- 這里可以放一些其它的 DOM,但不會影響滾動 -->
</div>

備注:better-scroll是作用在外層wrapper容器上的,滾動的部分是content元素。并且better-scroll只處理容器(wrapper)的第一個子元素(content)的滾動,其他的元素都會被忽略。

better-scroll初始化代碼:

better-scroll提供了一個類,實例化的第一個參數(shù)是一個原生的DOM對象,如果不是傳遞的對象,而是傳遞的字符串(類名或者id),better-scroll內(nèi)部會嘗試調(diào)用querySelector去獲取這個DOM對象。

<->直接傳遞DOM對象

import BScroll from 'better-scroll'
let wrapper = document.querySelector('.wrapper')
let scroll = new BScroll(wrapper)

<二>傳遞字符串,使better-scroll內(nèi)部去獲取DOM對象

import BScroll from 'better-scroll'
let scroll = new BScroll('.wrapper')

2. 代碼

2.1 代碼示例

2.1 子組件scrollChild(橫向滾動組件)

<template>
 <div class='move-tabs'>
 <div class='tabs-wrapper' ref='tabsWrapper'>
  <ul ref='tab'>
  <li v-for='(item, index) in tabs' :key='index'>
   <div class='tab-item'>
   <div class='expand-block'>
    {{item.name||'無'}}
   </div>
   </div>
  </li>
  </ul>
 </div>
 </div>
</template>
<script>
 import BScroll from 'better-scroll'

 export default {
 props: {
  data: Array,
 },
 data() {
  return {
  tabs: [],
  mX: 0,
  tabWidth: 300,
  }
 },
 mounted() {
  this.$nextTick(() => {
  console.log(this.data)
  this.tabs = this.data
  this._initMenu()
  })
 },
 methods: {
  _initMenu() {
  const tabsWidth = this.tabWidth
  const width = this.tabs.length * tabsWidth
  this.$refs.tab.style.width = `${width}px`
  this.$nextTick(() => {
   if (!this.scroll) {
   this.scroll = new BScroll(this.$refs.tabsWrapper, {
    scrollX: true,
    eventPassthrough: 'vertical',
   })
   } else {
   this.scroll.refresh()
   }
  })
  },
 },
 }
</script>
<style scoped>
 .move-tabs {
 position: relative;
 top: 0;
 bottom: 0;
 width: 100%;
 }
 .tabs-wrapper {
 height: 120px;
 width: 100%;
 box-sizing: border-box;
 overflow: hidden;
 white-space: nowrap;
 }
 .tab-item {
 float: left;
 width: 280px;
 height: 120px;
 padding: 10px;
 margin-right: 20px;
 background: #f5f5;
 box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
 border-radius: 4px;
 }
 .expand-block {
 font-size: 30px;
 font-weight: bold;
 color: #333333;
 }
</style>

2.1 父組件scrollParent(調(diào)用子組件)

<template>
<div>
 <child-scroll :data='scrollList' />
</div>
</template>

<script>
 import ChildScroll from '../components/scrollChild'
 export default {
 name: "scrollParent.vue",
 components: {
  ChildScroll,
 },
 data(){
  return {
  scrollList:[
   {name:'北京'},
   {name:'上海'},
   {name:'杭州'},
   {name:'廣州'},
   {name:'鄭州'},
   {name:'深圳'},
   {name:'合肥'},
   {name:'徐州'},
   {name:'西安'},
   {name:'石家莊'},
   {name:'呼和浩特'},
   {name:'蘭州'},
   {name:'包頭'},
   {name:'重慶'},
  ]
  }
 },
 }
</script>

<style scoped>

</style>

2.2 結(jié)果展示

可左右滑動出所需要展示的列表集合

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實現(xiàn)列表展示示例詳解

    vue實現(xiàn)列表展示示例詳解

    這篇文章主要為大家介紹了vue實現(xiàn)列表展示的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • vue項目中如何配置eslint和prettier

    vue項目中如何配置eslint和prettier

    這篇文章主要介紹了vue項目中如何配置eslint和prettier問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue項目中npm?install卡住問題解決的詳細指南

    Vue項目中npm?install卡住問題解決的詳細指南

    這篇文章主要介紹了Vue項目中npm?install卡住問題解決的相關(guān)資料,文中包括更換npm鏡像源、清除npm緩存、刪除.npmrc文件和升級Node.js版本,需要的朋友可以參考下
    2024-12-12
  • Element中Select選擇器的實現(xiàn)

    Element中Select選擇器的實現(xiàn)

    本文主要介紹了Element中Select選擇器的實現(xiàn),文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解vue 自定義marquee無縫滾動組件

    詳解vue 自定義marquee無縫滾動組件

    這篇文章主要介紹了vue自定義marquee無縫滾動組件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue實現(xiàn)彈框遮罩點擊其他區(qū)域彈框關(guān)閉及v-if與v-show的區(qū)別介紹

    vue實現(xiàn)彈框遮罩點擊其他區(qū)域彈框關(guān)閉及v-if與v-show的區(qū)別介紹

    vue如何簡單的實現(xiàn)彈框,遮罩,點擊其他區(qū)域關(guān)閉彈框, 簡單的思路是以一個div作為遮罩,這篇文章給大家詳細介紹了vue實現(xiàn)彈框遮罩點擊其他區(qū)域彈框關(guān)閉及v-if與v-show的區(qū)別介紹,感興趣的朋友一起看看吧
    2018-09-09
  • Vue項目開發(fā)實現(xiàn)父組件與子組件數(shù)據(jù)間的雙向綁定原理及適用場景

    Vue項目開發(fā)實現(xiàn)父組件與子組件數(shù)據(jù)間的雙向綁定原理及適用場景

    在 Vue.js 中,實現(xiàn)父組件與子組件數(shù)據(jù)之間的雙向綁定,可以通過以下幾種方式,下面我將介紹幾種常見的方法,并解釋它們的實現(xiàn)原理和適用場景,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • vue中自定義指令directive的詳細指南

    vue中自定義指令directive的詳細指南

    這篇文章主要給大家介紹了關(guān)于vue中自定義指令directive的相關(guān)資料,自定義指令解決的問題或者說使用場景是對普通 DOM 元素進行底層操作,所以我們不能盲目的胡亂的使用自定義指令,需要的朋友可以參考下
    2021-09-09
  • vue中的inject用法及說明

    vue中的inject用法及說明

    這篇文章主要介紹了vue中的inject用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 利用Vue實現(xiàn)一個累加向上漂浮動畫

    利用Vue實現(xiàn)一個累加向上漂浮動畫

    在不久之前,看到一個比較有意思的小程序,就是靜神木魚,可以實現(xiàn)在線敲木魚,自動敲木魚,手盤佛珠,靜心頌缽的,下面就來揭秘如何實現(xiàn)這個小程序中敲木魚的累加向上漂浮動畫,需要的可以參考一下
    2022-11-11

最新評論

增城市| 东安县| 锦州市| 东兰县| 临安市| 平安县| 靖宇县| 商南县| 河间市| 泗水县| 玛纳斯县| 阿勒泰市| 孟州市| 双柏县| 枣强县| 怀远县| 会同县| 比如县| 文山县| 容城县| 盐山县| 永仁县| 台中市| 台湾省| 景东| 溧水县| 福州市| 寻甸| 河南省| 海兴县| 黄冈市| 祥云县| 桦川县| 灯塔市| 临沂市| 宾川县| 景宁| 古田县| 铜梁县| 昌图县| 库伦旗|