zoukankan      html  css  js  c++  java
  • iview BackTop 返回顶部 组件无效解决

    通过查找博客,此组件需要固定的高度才能使用,而笔者的页面主内容显示区域高度是通过calc(~'100vh - 140px');计算得来,故无法使用,最终只得自己实现返回顶部方法,代码如下:

    页面布局结构:

     1 <Layout>
     2     <Header>
     3     </Header>
     4 
     5     <Layout>
     6         <Sider>
     7         </Sider>
     8 
     9         <Layout class="index-main" ref="layoutmain">
    10         <!--主内容区域,即滚动条出现区域-->
    11         <Content class="content" ref="indexcontent">
    12         
    13         </Content>
    14           <Footer class="con-foot">2011-2020 &copy;
    15           <BackTop @on-click="toTop(30)"></BackTop><!--返回顶部组件,只使用原来的样式,方法重写-->
    16         </Layout>
    17 
    18       </Layout>
    19 </Layout>

    返回顶部方法:

    <script>
    
    export default {
      name: 'index',
      mounted() {
        let div = this.$refs.layoutmain.$el;
        div.addEventListener('scroll', this.handleScroll);//监听滚动条
        
      },
        methods: {
        handleScroll (e) {
          let div = this.$refs.layoutmain.$el;
          let backDiv= document.querySelector('.ivu-back-top');
          if (div.scrollTop > 100) {//大于滚动距离显示返回顶部图标
            
            backDiv.style.display = 'block';
          } else {
            
            backDiv.style.display = 'none';
          }
        },
        toTop(step=40){
    
          //参数step表示时间间隔的幅度大小,以此来控制速度
          //当回到页面顶部的时候需要将定时器清除
          let div = this.$refs.layoutmain.$el;
          div.scrollTop-=step;
          if (div.scrollTop>0) {
              var time=setTimeout(()=>this.toTop(step),15);
          }else {
              clearTimeout(time);
          }
        }
    };
    </script>
  • 相关阅读:
    〖Linux〗转换Socks Proxy为Http Proxy
    〖Linux〗Linux的smb地址转换Windows格式(两者互转)
    〖前端开发〗HTML/CSS基础知识学习笔记
    精确光源(Punctual Light Sources)
    面元间的能量传输
    pbr若干概念
    c# xml 输出注释格式控制
    unity, 立即生效动画:Animation.sample()
    unity, 在材质上指定render queue
    unity, shader, Tags的位置
  • 原文地址:https://www.cnblogs.com/dirgo/p/13175450.html
Copyright © 2011-2022 走看看