Vue-------返回顶部功能

简单记录一下返回顶部功能

html

   <div
   	 class="toTop"
   	 v-show="toTop_show"
   	 @mouseenter="show_toTop_txt"
   	 @mouseleave="show_toTop_icon"
   	 title="返回顶部"
   	 @click="backTop"
   	>
      <i
      	class="iconfont icon-Icon_Outline_Arrow_Up toTopBtnIcon"
         v-show="show_toTopBtnIcon"
       >
       </i>
      <span class="toTopBtn_txt" v-show="show_toTopBtn_txt">顶部</span>
    </div>

js

	  //1. data()
      toTop_show: false,
      show_toTopBtnIcon: true,
      show_toTopBtn_txt: false
	  // 2. mounted()
	  window.addEventListener('scroll', this.control_toTopBtn_show, true)

	  // 3. methods()
	  control_toTopBtn_show() {
	  //this.$refs.dynamicRef.$el.offsetParent是可滚动那个盒子的父盒子(谁是可视区域获取谁)
      	if (this.$refs.dynamicRef.$el.offsetParent.scrollTop > 150) {
         this.toTop_show = true
        } else {
         this.toTop_show = false
       }
     },
     show_toTop_txt() {
      this.show_toTopBtn_txt = true
      this.show_toTopBtnIcon = false
    },
    show_toTop_icon() {
      this.show_toTopBtn_txt = false
      this.show_toTopBtnIcon = true
    },
    backTop() {
      const that = this
      const timer = setInterval(() => {
        const ispeed = Math.floor(-that.$refs.dynamicRef.$el.offsetParent.scrollTop / 5)
        that.$refs.dynamicRef.$el.offsetParent.scrollTop = that.$refs.dynamicRef.$el.offsetParent.scrollTop + ispeed
        if (that.$refs.dynamicRef.$el.offsetParent.scrollTop === 0) {
          clearInterval(timer)
        }
      }, 16)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值