vue 中固定导航栏的实例代码


Posted in Javascript onNovember 01, 2019

点击按钮回顶

<template lang="html">

 <div class="gotop-box">
 <i @click="gotop"class="icon topIcon"></i>
 </div>
</template>

<script>

export default {

methods: {

 gotop: function () { // 点击回顶按钮 返回顶部
  setTimeout(()=>{
  document.body.scrollTop = 0
  document.documentElement.scrollTop = 0
  },1000)
 }
 }
}
window.onscroll = function() {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
 const goTop= document.querySelector('.gotop-box')
  if (scrollTop >200) {
   goTop.style.display = 'block'
  } else {
   goTop.style.display = 'none'
  }
}
</script>


<style lang="css">
.topIcon {
 position: fixed;
 bottom: 5rem;
 right: 1rem;
 width: 2rem;
 height: 2rem;
 border-radius: 50%;
 background:url(../assets/images/gotop.png)center center no-repeat;
 background-size: cover;
}
</style>

vue 中固定导航栏的实例代码

vue 中固定导航栏的实例代码

固定导航栏案例

<template> 
 <div>
  <div id="topPart">顶部距离</div>
  <div id="navBar" :class="{isFixed:istabBar}">固定导航栏</div>
  <div id="mainPart">
   <ul>
    <li>内容部分</li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
   </ul>
  </div>
 </div>
</template>


<script>
 export default {
  data () {
   return {
    istabBar: false
   }
  },
  methods: {
   // 添加一个方法 兼容
   handleScroll () {
    let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
      
     // 固定导航栏
     let topBar = document.querySelector("#topPart");
     let navBar = document.querySelector("#navBar");
     let mainPart = document.querySelector("#mainPart");
     if (scrollTop > topBar.offsetHeight){
      this.istabBar = true
      mainPart.style.paddingTop = navBar.offsetHeight + "px";
     } else {
      this.istabBar = false
      mainPart.style.paddingTop = "0px";
     }
   }
  },
  mounted () {
   window.addEventListener('scroll', this.handleScroll); // Dom树加载完毕
  },
  destroyed () {
   window.removeEventListener('scroll', this.handleScroll) // 销毁页面时清除
  }
 }
</script>


<style> 
 #topPart{
  width: 100%;
  height: 100px;
  background-color: yellow;
 }
 .isFixed {
  position: fixed;
  top: 0;
  z-index: 10;
 }
 #navBar {
  width: 100%;
  height: 50px;
  background-color: red;
 }
 #mainPart {
  width: 100%;
 }
 #mainPart ul {
  width: 100%;
 }
 #mainPart ul li {
  width: 100%;
  height: 40px;
  background-color: orange;
  margin-bottom: 10px;
 }
</style>

vue 中固定导航栏的实例代码

以上这篇vue 中固定导航栏的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js异或加解密效果代码
Jun 25 Javascript
jquery nth-child()选择器的简单应用
Jul 10 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
Oct 19 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
Jul 31 Javascript
Angular服务Request异步请求的实例讲解
Aug 13 Javascript
Node.js console控制台简单用法分析
Jan 04 Javascript
Node.js从字符串生成文件流的实现方法
Aug 18 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
Nov 01 #Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 #Javascript
Vue实现导航栏的显示开关控制
Nov 01 #Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 #Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 #Javascript
Vue中jsx不完全应用指南小结
Nov 01 #Javascript
vue导航栏部分的动态渲染实例
Nov 01 #Javascript
You might like
详解PHP序列化和反序列化原理
2018/01/15 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
网络安全类面试题
2015/08/01 面试题
Linux面试题LINUX系统类
2015/11/25 面试题
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
政协会议宣传标语
2014/10/09 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
Python学习之时间包使用教程详解
2022/03/21 Python
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA