国产探花免费观看_亚洲丰满少妇自慰呻吟_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>

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芦山县| 固阳县| 东乡县| 万全县| 锡林郭勒盟| 东平县| 社旗县| 新余市| 巨野县| 阿拉尔市| 桑植县| 柳河县| 遂溪县| 喀喇沁旗| 长白| 江北区| 汝城县| 庐江县| 建平县| 灌云县| 河间市| 马龙县| 赣州市| 邯郸市| 茂名市| 环江| 桃江县| 广河县| 长宁区| 竹山县| 达州市| 武安市| 运城市| 无为县| 乌海市| 新河县| 丁青县| 芦山县| 卫辉市| 依安县| 南溪县|