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判断用户是否上网(连接网络)
Dec 23 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
常用的JQuery函数及功能小结
Mar 24 Javascript
AngularJS删除路由中的#符号的方法
Sep 20 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
Vue 路由 过渡动效 数据获取方法
Jul 31 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
Sep 25 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 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程序的方法
2009/03/09 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
原生JS实现相邻月份日历
2020/10/13 Javascript
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
python文件路径操作方法总结
2020/12/21 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
课堂教学改革实施方案
2014/03/17 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
大学感恩节活动总结
2015/05/05 职场文书
健康证明
2015/06/19 职场文书
大学生读书笔记范文
2015/07/01 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android