亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue實現滑動超出指定距離回頂部功能

發布時間:2020-09-01 18:33:55 來源:腳本之家 閱讀:217 作者:weixin_43421652 欄目:web開發

本文實例為大家分享了vue實現滑動超出指定距離回頂部功能,供大家參考,具體內容如下

效果圖展示:

vue實現滑動超出指定距離回頂部功能

1、當頁面滑動時執行scrollToTop ()函數,判斷滑動的距離是否超出指定距離,注意下面獲取getElementsByClassName時,是你被滑動標簽的class。

mounted() {
  window.addEventListener('scroll', this.scrollToTop, true)
 }
scrollToTop () {
  let This = this
  let dom = document.getElementsByClassName('content')[0];//獲取滑動模塊的信息(注意class別寫錯)
  This.scrollTop = dom.scrollTop;
  if (This.scrollTop > 200) {
    This.btnFlag = true
  } else {
    This.btnFlag = false
  }
}

2、當超出指定距離會出來向上的小圖標,點擊執行backTop ()函數回頂部。圖標我是用的阿里矢量圖標引入到項目中,樣式自己調一下。

// 點擊圖標回到頂部方法,加計時器是為了緩慢回到頂部
backTop () {
  let This = this
  let timer = setInterval(() => {
    let ispeed = Math.floor(-This.scrollTop / 5)
    document.getElementsByClassName('content')[0].scrollTop = This.scrollTop + ispeed
    if (This.scrollTop === 0) {
      clearInterval(timer)
    }
  }, 16)
},

完整代碼請看下面:

<template>
 <div class="scrollTop-wrap">
  <div v-if="btnFlag" class="go-top">
    <li class="iconfont iconhuidaodingbu" @click="backTop()"></li>
  </div>
 </div>
</template>
<script>
 import { httpGetMethod } from '../common/httpService'
 export default {
  name: 'scrollTop',
  data: function () {
   return {
    btnFlag:false,
    scrollTop:0//當前滑動距離
   }
  },
  mounted() {
    window.addEventListener('scroll', this.scrollToTop, true)
  },
  destroyed () {
    window.removeEventListener('scroll', this.scrollToTop, true)
  },
  methods: {
    // 點擊圖標回到頂部方法,加計時器是為了緩慢回到頂部
    backTop () {
      let This = this
      let timer = setInterval(() => {
        let ispeed = Math.floor(-This.scrollTop / 5)
        document.getElementsByClassName('content')[0].scrollTop = This.scrollTop + ispeed
        if (This.scrollTop === 0) {
          clearInterval(timer)
        }
      }, 16)
    },
    // 計算距離頂部的高度,當高度大于200顯示回頂部圖標,小于200則隱藏
    scrollToTop () {
      let This = this
      let dom = document.getElementsByClassName('content')[0];//獲取滑動模塊的信息(注意class別寫錯)
      This.scrollTop = dom.scrollTop;
      if (This.scrollTop > 200) {
        This.btnFlag = true
      } else {
        This.btnFlag = false
      }
    }
  }
 }
</script>
<style lang="scss">
 @import '../styles/mixin';
 .scrollTop-wrap {
  position: relative;
  .go-top{
   position: absolute;
   top: 430px;
   left: 260px;
   z-index: 15;
   .iconhuidaodingbu{
     font-size: 30px;
     color: #87878A;
     background-color:#fff;
     border-radius: 50%;
   }
  }
 }
</style>

在其他頁面引用一下:

<template>
 <div class="wtll-wrap">
  <div calss="content">
     這里是你的滑動內容
  </div>
  <scrollTop></scrollTop>
 </div>
</template>
<script>
 import scrollTop from '../components/scrollTop'
 export default {
  name: 'wtll',
  data: function () {
   return {
   }
  },
  components: {
   scrollTop
  },
  methods: {
  }
 }
</script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万源市| 临沧市| 磐安县| 沙洋县| 荆门市| 古田县| 邯郸市| 筠连县| 绥宁县| 喀喇沁旗| 秦安县| 河池市| 六安市| 雷山县| 尚志市| 华宁县| 廊坊市| 巴南区| 屏东县| 福建省| 内乡县| 中江县| 思南县| 崇阳县| 临澧县| 南部县| 靖江市| 三穗县| 宝兴县| 磐安县| 滨海县| 伊通| 红原县| 双鸭山市| 鄂温| 阳西县| 浦江县| 和平县| 星座| 清新县| 东乌珠穆沁旗|