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 加载时自动调整图片大小
May 28 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
js showModalDialog参数的使用详解
Jan 07 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
javascript检测两个数组是否相似
May 19 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 Javascript
JavaScript正则替换HTML标签功能示例
Mar 02 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
Easyui使用Dialog行内按钮布局的实例
Jul 27 Javascript
shiro授权的实现原理
Sep 21 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与SQL注入攻击[一]
2007/04/17 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
JS中的变量作用域(console版)
2020/07/18 Javascript
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
服务承诺书格式
2014/05/21 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
老干部工作汇报材料
2014/10/28 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
公司庆典欢迎词
2015/01/26 职场文书
城管个人总结
2015/02/28 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
python Polars库的使用简介
2021/04/21 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电