91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

滦平县| 漠河县| 儋州市| 龙陵县| 邵阳县| 乐亭县| 新干县| 蒙城县| 延津县| 稻城县| 宜章县| 东港市| 奈曼旗| 育儿| 类乌齐县| 余庆县| 彭泽县| 中西区| 新邵县| 阿瓦提县| 松潘县| 陆良县| 诸城市| 西城区| 芦溪县| 三河市| 武陟县| 夏邑县| 临夏县| 金山区| 岳阳市| 永安市| 莎车县| 伊宁市| 康乐县| 苏尼特右旗| 玛多县| 扎囊县| 永清县| 德令哈市| 乐东|