vue滚动加载更多,回到顶部

watch: {
    orderData (val) {
      this.$nextTick(() => { // 数据变动 且渲染完成后
        this.pageHeight = document.querySelector('html').scrollHeight
        this.viewHeight = document.querySelector('html').clientHeight

        if (this.lastPage) {
          this.loading = false
        } else {
          this.loading = true
        }
      })
    },
    // 监听滚动加载下一页
    scrollTop (val) {
      if (this.loading && this.pageHeight > 0 && !this.lastPage) {
        if (this.pageHeight - this.viewHeight - val < this.distance) {
          this.loading = false
          this.pageNum++
          this.getOrder()
        }
      }
    }
  },

  

created () {
    document.addEventListener('scroll', this.scroll, false)
  },
  beforeDestroy () {
    document.removeEventListener('scroll', this.scroll)
  },

scroll (e) {
      this.scrollTop = document.body.scrollTop || document.documentElement.scrollTop
    },

 

created(){
    document.addEventListener('scroll', this.scrollT, false)
  },

  

//回到顶部
    goTop() {
      let scrollToTop = window.setInterval(()=>{
        let Top = document.documentElement.scrollTop || document.body.scrollTop
        if(Top>0){
          window.scrollTo( 0, Top - 80)
        }else{
          window.clearInterval( scrollToTop );
        }
      },10)
    },

  

posted @ 2018-10-30 17:46  fm060  阅读(1177)  评论(0编辑  收藏  举报