vue中滚动页面到一定距离导航置顶

news/2024/7/10 0:27:57 标签: vue, css

1.id名为testNavBar的盒子与:class=’{ fixedNavbar: isfixTab }'的盒子可以是包含关系也可以是并列关系

css">      <div id='testNavBar'></div>
      <div class="container "  :class='{ fixedNavbar: isfixTab  }'>
        </div>

或者

css"><div id='testNavBar'>
	<div :class='{ fixedNavbar: isfixTab }'>这是导航</div>
</div>

2.fixedNavbar是类名

css">    .fixedNavbar {
      background-color: #f3f3f3;
      position: fixed;
      width: 100%;
      z-index: 2032;
      top: 0;
      left: 0;
      padding-bottom: 10px;
    }

3.isfixTab 是控制是否加类名

css"> data() {
    return {
      isnavshow: false,
      cateList:[],
      cateInfo:[],
      config_list:{},
      isfixTab:false
    }
  },

4.在mounted中监听页面滚动事件,并调用handleTabFix() 方法

css">  // 监听页面滚动
    mounted () {
        window.addEventListener('scroll', this.handleTabFix, true)
    },
    //离开当前组件前一定要清除滚动监听,否则进入其他路由会报错
    beforeRouteLeave (to, from, next) {
      window.removeEventListener('scroll', this.handleTabFix, true)
      next()
    },

5.声明一个方法handleTabFix()

css">    // 先分别获得id为testNavBar的元素距离顶部的距离和页面滚动的距离
	    // 比较他们的大小来确定是否添加fixedNavbar样式
    handleTabFix() {
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
      var offsetTop = document.querySelector('#testNavBar').offsetTop
      scrollTop > offsetTop ? this.isfixTab = true : this.isfixTab = false
    }

http://www.niftyadmin.cn/n/1512082.html

相关文章

爬虫基础_urllib

爬虫基础学习笔记 urllib库 urllib库是Python中的一个最基本的网络请求库。可以模拟浏览器的行为&#xff0c;向指定的服务器发送一个请求&#xff0c;并可以保存服务器返回的数据。 1、urlopen函数 在Python3的urllib库中&#xff0c;所有和网络请求相关的方法&#xff0c;…

javascript 中 IE与FF的不同之处及其兼容写法

png透明 AlphaImageLoaderfilter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabledbEnabled,sizingMethodsSize,srcsURL)enabled&#xff1a;可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true&#xff1a;默认值。滤镜激活。false&#xff1a;滤镜被禁止。s…

Python-pip速查表

Python-pip速查表 安装管理&#xff08;以Python库requests为例&#xff09;• 安装Python库pip install requests• 安装指定版本的Python库pip install requests2.25• 从本地wheel文件安装pip install requests-2.25.1-py3-none-any.whl• 从git仓库安装pip install githtt…

vue中使用ElementUI组件中的el-table遇到的问题

1.当点击表格中的行时,获取当前行的数据,官方 文档 自带的row-click事件,参数有row 2.当row-click“rowPosition()” 就获取不到row中的数据 3.不能函数后带括号 <el-table :data"advertiseList" :show-row-hover"false" row-click"roWPosition&q…

C语言内存地址基础

来源&#xff1a;http://blog.jobbole.com/44845/ 从计算机内存的角度思考C语言中的一切东东&#xff0c;是挺有帮助的。我们可以把计算机内存想象成一个字节数组&#xff0c;内存中每一个地址表示 1 字节。比方说我们的电脑有 4K 内存&#xff0c;那这个内存数组将会有 4096 个…

Urllib模块学习笔记

请求模块Urllib学习笔记 Cookie操作 利用Cookie信息登录网页并输出 模块&#xff1a; import urllib.request import http.cookiejar将cookie信息保存为LWP格式文件 模块&#xff1a; import urllib.request # 导入urllib.request模块 import urllib.parse # 导入urllib…

行为模式---之--解释器模式

解释器模式是类的行为模式&#xff0c;给定一个语言之后&#xff0c;解释器模式可以定义出其方法的一种表示&#xff0c;并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。如果某一类问题一再地发生的话&#xff0c;那么一个意义的做法就是将此类问题的…

vue中兼容ie的多行文本溢出省略

1.在html文件中 <div class"sldiv" style"overflow: hidden; word-break: normal; word-wrap: break-word; max-width: 179px">1111111111111111111111111111111111111111111111111111111111</div>1.1封装成了一个函数,是控制字数多少来添加省…