欢迎光临散文网 会员登陆 & 注册

Vue结合better-scroll实现返回顶部

2021-05-14 20:01 作者:忘魂儿  | 我要投稿

老样子,封装成一个backTop组件

<!--  -->

<template>

  <div class="back-top">

   <img src="" alt="">

  </div>

</template>


<script>

export default {

  name:'backTop',

  data () {

    return {

    }

  }

}

</script>


<style scoped>

.back-top{

position : fixed;

right: 12px;

bottom: 55px;

}

.back-top img{

    width: 30px;

    height: 30px;

}

</style>

再然后,在首页拿到我们的backTop组件,并注册

import backTop from '   '

export default {

  name: "home",

  components:{

    backTop,

    scroll

  }

对scroll组件设置ref属性,拿到我们的组件对象

 <scroll class="wrapper" ref="scroll" :probe-type="3">

</scroll>

 <div  @click="backTop"  >

    <backTop></backTop>

</div>

在scroll组件中定义方法

props:{

  probeType:{

        type:Number,

        default:0

   },

},

data(){

    return {

      scroll:null

    }

  },

methods:{

    scrollTo(x,y,time=500){

      this.scroll.scrollTo(x,y)

    }

  }

在首页定义点击事件,并调用scroll组件中的方法

backTop(){

      this.$refs.scroll.scroll.scrollTo(0,0)

}

到此实现返回顶部


若需要设置拉到什么位置显示的话

probeType:3

visible:false

this.scroll.on('scroll',(position)=>{

      this.$emit('showposition',position)

    })

 @showposition="limitposition"

limitposition(position){

       if(-position.y>1000){

         this.visible=true

       }else{

         this.visible=false

       }

    }

 <backTop  @click="backTop" v-show="visible"></backTop>


Vue结合better-scroll实现返回顶部的评论 (共 条)

分享到微博请遵守国家法律