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

vue2實現(xiàn)帶有阻尼下拉加載的功能

 更新時間:2023年02月16日 10:34:15   作者:砂糖橘加鹽  
這篇文章主要為大家介紹了vue2實現(xiàn)帶有阻尼下拉加載的功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

在vue中 需要綁定觸發(fā)的事件

<div
  id="testchatBox"
  class="chatWrap"
  :style="{paddingTop: chatScroollTop + 'px'}"
  @touchstart="touchStart" 
  @touchmove="touchMove"
  @touchend="touchEnd">
</div>

代碼片段使用到了三個回調(diào)函數(shù):

  • touchstart: 手指觸摸到屏幕的那一刻的時候
  • touchmove: 手指在屏幕上移動的時候
  • touchend: 手指離開屏幕的時候

paddingTop可以看出,我們是通過控制這個容器距離的頂部的padding來實現(xiàn)下拉的效果。所以說我們的重調(diào)就是通過上面的三個回調(diào)函數(shù)來確定chatScroollTop的值。

通過chatScroollTop 這個命名就可以知道,我們這個下拉刷新是用在聊天框容器當(dāng)中.

需要使用的變量

我們需要使用這些變量:

data() {
  return {
    chatScroollTop: 0, // 容器距離頂部的距離 
    isMove: false, // 是否處于touchmove狀態(tài)
    startY: 0, // 當(dāng)前手指在屏幕中的y軸值
    pageScrollTop: 0, // 滾動條當(dāng)前的縱坐標(biāo)
  }
}

三個回調(diào)函數(shù)對應(yīng)三個階段,而我們核心代碼也分為三個部分:

第一部分:初始化當(dāng)前容器的到頂部的距離,以及初始化當(dāng)前是否處于滑動的狀態(tài),并獲取當(dāng)前滾動條的縱坐標(biāo)。

touchStart(e) {
  // e代表該事件對象,e.targetTouches[0].pageY可以拿到手指按下的 y軸點
  this.startY = e.targetTouches[0].pageY
  // 開啟下拉刷新狀態(tài)
  this.isMove = false
  this.pageScrollTop = document.documentElement &amp;&amp; document.documentElement.scrollTop
}

第二部分:根據(jù)當(dāng)前手指當(dāng)前距離觸摸屏幕時刻的縱坐標(biāo)差來確定容器和頂部的距離。但是由于不能一直的滑動,所以給了一個0 -> 80的氛圍。為了讓滑動更加的有趣,添加了一個step步進(jìn)值來調(diào)整滑動的距離比例,所謂的距離比例就是手指距離一開始的距離越遠(yuǎn),那么容量跟著滑動的距離就越短。實現(xiàn)一個類似阻尼的效果。

touchMove(e) {
  // 這個 touchMove,只要頁面在動都會發(fā)生的,所以 touching就起作用了
  // 獲取移動的距離
  let diff = e.targetTouches[0].pageY - this.startY
  let step = 60
  if (diff > 0 && diff < 80 && this.pageScrollTop === 0) {
     step++ // 越來越大
     this.chatScroollTop += (diff / (step * 0.1)) // 越向下給人的阻力感越大
     this.isMove = true
  }
}

第三部分:手指松開之后,給一個距離頂部的距離是為了添加加載滾動條。

  touchEnd() {
    if(this.isMove) {
      this.chatScroollTop = 40
      this.downCallback() // api拉取數(shù)據(jù)
    }
  }
  async downCallback() {
    try {
       // 拿數(shù)據(jù) 
    } catch() {} 
    finall{
      this.chatScrollTop = 0
    }
  }

以上就是vue2實現(xiàn)帶有阻尼下拉加載的功能的詳細(xì)內(nèi)容,更多關(guān)于vue2阻尼下拉加載的功能的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue如何使用Dayjs計算常用日期詳解

    Vue如何使用Dayjs計算常用日期詳解

    這篇文章主要給大家介紹了關(guān)于Vue如何使用Dayjs計算常用日期的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動

    vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動

    這篇文章主要介紹了vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Vue項目中使用jsonp抓取跨域數(shù)據(jù)的方法

    Vue項目中使用jsonp抓取跨域數(shù)據(jù)的方法

    這篇文章主要介紹了Vue項目中使用jsonp抓取跨域數(shù)據(jù)的方法,本文通過實例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2019-11-11
  • Vue3 Pinia獲取全局狀態(tài)變量的實現(xiàn)方式

    Vue3 Pinia獲取全局狀態(tài)變量的實現(xiàn)方式

    這篇文章主要介紹了Vue3 Pinia獲取全局狀態(tài)變量的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    這篇文章主要介紹了el-descriptions引入代碼中l(wèi)abel不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue中router-link常用屬性使用案例講解

    Vue中router-link常用屬性使用案例講解

    這篇文章主要介紹了Vue中router-link常用屬性使用案例講解,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • vue3結(jié)合typescript中使用class封裝axios

    vue3結(jié)合typescript中使用class封裝axios

    這篇文章主要為大家介紹了vue3結(jié)合typescript中使用class封裝axios實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue加載讀取本地txt/json等文件的實現(xiàn)方式

    Vue加載讀取本地txt/json等文件的實現(xiàn)方式

    這篇文章主要介紹了Vue加載讀取本地txt/json等文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 可能是全網(wǎng)vue?v-model最詳細(xì)講解教程

    可能是全網(wǎng)vue?v-model最詳細(xì)講解教程

    Vue官網(wǎng)教程上關(guān)于v-model的講解不是十分的詳細(xì),寫這篇文章的目的就是詳細(xì)的剖析一下,下面這篇文章主要給大家介紹了關(guān)于vue?v-model最詳細(xì)講解的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Vue遞歸組件+Vuex開發(fā)樹形組件Tree--遞歸組件的簡單實現(xiàn)

    Vue遞歸組件+Vuex開發(fā)樹形組件Tree--遞歸組件的簡單實現(xiàn)

    這篇文章也是我自己開發(fā)的從無到有的過程,所以它可以為你提供一些Tree組件開發(fā)的思路,本文重點給大家介紹vue遞歸組件的簡單實現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2019-04-04

最新評論

四川省| 商城县| 福建省| 张家口市| 娄底市| 六安市| 太保市| 东兴市| 上杭县| 淮安市| 德格县| 专栏| 洛扎县| 三穗县| 收藏| 泰来县| 繁峙县| 安远县| 富宁县| 正蓝旗| 舞钢市| 桦川县| 乌拉特中旗| 淳安县| 华坪县| 泽普县| 安乡县| 阿勒泰市| 当雄县| 安远县| 正宁县| 宁城县| 油尖旺区| 濮阳县| 丰原市| 云南省| 华池县| 黑河市| 汝州市| 保德县| 天津市|