国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 11:05:46
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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>

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南皮县| 夏河县| 广西| 井研县| 昌乐县| 勃利县| 缙云县| 化隆| 临沂市| 北川| 霍州市| 确山县| 兴仁县| 鄂伦春自治旗| 布尔津县| 伊金霍洛旗| 贞丰县| 句容市| 深州市| 霸州市| 沂源县| 赤城县| 宜川县| 始兴县| 新河县| 苍山县| 利川市| 威远县| 新安县| 仁化县| 义乌市| 菏泽市| 嘉兴市| 温州市| 宣武区| 韶关市| 凭祥市| 西贡区| 延长县| 临潭县| 都兰县|