欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue使用better-scroll實(shí)現(xiàn)橫向滾動(dòng)的方法實(shí)例

 更新時(shí)間:2021年06月02日 11:55:48   作者:鐵錘妹妹@  
這幾天研究項(xiàng)目時(shí),看到了 better-scroll 插件,看著感覺(jué)功能挺強(qiáng),這篇文章主要給大家介紹了關(guān)于vue使用better-scroll實(shí)現(xiàn)橫向滾動(dòng)的相關(guān)資料,需要的朋友可以參考下

一、滾動(dòng)的實(shí)現(xiàn)原理

better-scroll的滾動(dòng)原理和瀏覽器原生滾動(dòng)原理是一樣的,當(dāng)子盒子的高度大于父盒子的高度,就會(huì)出現(xiàn)縱向滾動(dòng);同理,如果子盒子的寬度大于父盒子的寬度,那么就會(huì)出現(xiàn)橫向滾動(dòng)。

二、better-scroll的 html 結(jié)構(gòu)

先來(lái)看一下 better-scroll 常見(jiàn)的 html 結(jié)構(gòu):

<div class="wrapper">
  <ul class="content">
    <li>...</li>
    <li>...</li>
    ...
  </ul>
</div>

BetterScroll應(yīng)用于外部wrapper容器,并且滾動(dòng)部分是content。請(qǐng)注意,wrapper默認(rèn)情況下,BetterScroll處理容器()的第一個(gè)子元素(內(nèi)容)的滾動(dòng),這意味著其他元素將被忽略。

三、在Vue中使用better-scroll

npm install better-scroll --save  //npm 安裝
import BScroll from 'better-scroll'  //組件文件中引入better-scroll
<template>
   /* 橫向滾動(dòng) */
   /* 這里是父盒子*/
<div
        class="wrapper_box"
        style="min-height:100vh;
        "
        ref="wrapper"
        v-else
      >
      /* 這里是子盒子,即滾動(dòng)區(qū)域*/
        <div class="content" ref="wrapperChild">
          <div
            v-for="(item, index) in currentImgList"
            :key="index"
            class="imgItem"
          >
            <img :src="item.img" class="img" style="margin: 0 10px;" />
          </div>
        </div>
      </div>
</template>
<script>
 import BScroll from "better-scroll";
 export default {
  data() {
    return {
      currentImgList: [
        { img: require("../../assets/image/zzb_1.png") },
        { img: require("../../assets/image/zzb_2.png") },
        { img: require("../../assets/image/zzb_3.png") }
      ],
    };
  },
  mounted() {
    this.slide_x(); //橫向滾動(dòng)
  },
  methods: {
     // 初始化
    _initScroll() {
      if (!this.scroll) {
        this.scroll = new BScroll(this.$refs.wrapper, { // 實(shí)例化BScroll接受兩個(gè)參數(shù),第一個(gè)為父盒子的dom節(jié)點(diǎn)
          startX: 0, /// 配置的詳細(xì)信息請(qǐng)參考better-scroll的官方文檔,這里不再贅述
          click: true,
          scrollX: true,
          scrollY: false, // 忽略豎直方向的滾動(dòng)
          eventPassthrough: "vertical",
          useTransition: false // 防止快速滑動(dòng)觸發(fā)的異?;貜?
        });
      } else {
        this.scroll.refresh(); //如果dom結(jié)構(gòu)發(fā)生改變調(diào)用該方法重新計(jì)算來(lái)確保滾動(dòng)效果的正常
      }
    },
    // 計(jì)算寬度
    _calculateWidth() {
      // 獲取類(lèi)名為 imgItem 的標(biāo)簽
      let rampageList = this.$refs.wrapperChild.getElementsByClassName(
        "imgItem"
      );
      // 設(shè)置一個(gè)起始寬度
      let initWidth = 0;
      // 遍歷標(biāo)簽
      for (let i = 0; i < rampageList.length; i++) {
        const item = rampageList[i];
        // 將每一個(gè)標(biāo)簽寬度相加
        initWidth += item.clientWidth;
      }
      // 設(shè)置可滾動(dòng)的寬度
      this.$refs.wrapperChild.style.width = `${initWidth}px`;
    },
    slide_x() {
      this.$nextTick(() => { //this.$nextTick 是一個(gè)異步函數(shù),為了確保 DOM 已經(jīng)渲染完畢
        this._initScroll(); // 初始化
        this._calculateWidth(); // 計(jì)算寬度
      });
    },
    },
   

};
</script>

下面是插件原作者說(shuō)的:

四. 容易出現(xiàn)問(wèn)題的點(diǎn):

  1. 必須等到頁(yè)面DOM渲染完成再去執(zhí)行BScroll的實(shí)例化,建議在mounted 鉤子函數(shù)里執(zhí)行
  2. 子盒子的寬度大于父盒子的寬度

最后

better-scroll插件作者的文章,發(fā)現(xiàn)better-scroll真強(qiáng)大?。?/p>

當(dāng) better-scroll 遇見(jiàn) Vue

在Vue中用better-scroll實(shí)現(xiàn)橫向滾動(dòng)

到此這篇關(guān)于vue使用better-scroll實(shí)現(xiàn)橫向滾動(dòng)的文章就介紹到這了,更多相關(guān)vue better-scroll實(shí)現(xiàn)橫向滾動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Vue Composition API寫(xiě)出清晰、可擴(kuò)展的表單實(shí)現(xiàn)

    使用Vue Composition API寫(xiě)出清晰、可擴(kuò)展的表單實(shí)現(xiàn)

    這篇文章主要介紹了使用Vue Composition API寫(xiě)出清晰、可擴(kuò)展的表單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Vue3中Hooks封裝的技巧詳解

    Vue3中Hooks封裝的技巧詳解

    這篇文章主要來(lái)和大家分享一些關(guān)于 Vue3中Hooks封裝的技巧,希望能夠?yàn)榇蠹以?nbsp;Vue 3 項(xiàng)目中更好地利用 Hooks 提供一些思路和實(shí)踐經(jīng)驗(yàn)
    2023-12-12
  • vue實(shí)現(xiàn)錨點(diǎn)定位功能

    vue實(shí)現(xiàn)錨點(diǎn)定位功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)錨點(diǎn)定位功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 詳解Vue 事件修飾符capture 的使用

    詳解Vue 事件修飾符capture 的使用

    capture事件修飾符的作用是給元素添加一個(gè)監(jiān)聽(tīng)器,當(dāng)元素發(fā)生冒泡時(shí),先觸發(fā)帶有該修飾符的元素。這篇文章給大家介紹了Vue 事件修飾符capture 的使用,需要的朋友參考下吧
    2017-12-12
  • 加載 vue 遠(yuǎn)程代碼的組件實(shí)例詳解

    加載 vue 遠(yuǎn)程代碼的組件實(shí)例詳解

    vue-cli 作為 Vue 官方推薦的項(xiàng)目構(gòu)建腳手架,它提供了開(kāi)發(fā)過(guò)程中常用的,熱重載,構(gòu)建,調(diào)試,單元測(cè)試,代碼檢測(cè)等功能。我們本次的異步遠(yuǎn)端組件將基于 vue-cli 開(kāi)發(fā)
    2017-11-11
  • 詳解Vue-cli webpack移動(dòng)端自動(dòng)化構(gòu)建rem問(wèn)題

    詳解Vue-cli webpack移動(dòng)端自動(dòng)化構(gòu)建rem問(wèn)題

    這篇文章主要介紹了詳解Vue-cli webpack移動(dòng)端自動(dòng)化構(gòu)建rem問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車(chē)功能詳解

    Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車(chē)功能詳解

    這篇文章主要介紹了Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車(chē)功能,結(jié)合實(shí)例形式分析了vue.js前臺(tái)商品分頁(yè)、排序、篩選等功能及后臺(tái)node.js處理技巧,需要的朋友可以參考下
    2019-12-12
  • vue下的@change事件的實(shí)現(xiàn)

    vue下的@change事件的實(shí)現(xiàn)

    這篇文章主要介紹了vue下的@change事件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • el-table表格動(dòng)態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并)

    el-table表格動(dòng)態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并)

    工作時(shí)遇到的el-table合并單元格的需求,本文主要介紹了el-table表格動(dòng)態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue3?使用setup語(yǔ)法糖實(shí)現(xiàn)分類(lèi)管理功能

    vue3?使用setup語(yǔ)法糖實(shí)現(xiàn)分類(lèi)管理功能

    這篇文章主要介紹了vue3?使用setup語(yǔ)法糖實(shí)現(xiàn)分類(lèi)管理,本次模塊使用 vue3+element-plus 實(shí)現(xiàn)一個(gè)新聞?wù)镜暮笈_(tái)分類(lèi)管理模塊,其中新增、編輯采用對(duì)話(huà)框方式公用一個(gè)表單,需要的朋友可以參考下
    2022-08-08

最新評(píng)論