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 相关文章推荐
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
Sep 21 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 Javascript
详谈javascript异步编程
Feb 21 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 Javascript
浅谈JavaScript 浏览器对象
Jun 03 Javascript
js 轮播效果实例分享
Dec 28 Javascript
JS实现页面打印功能
Mar 16 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
详解微信小程序Radio选中样式切换
Jul 06 Javascript
js实现课堂随机点名系统
Nov 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中实现进程间通讯
2006/10/09 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
python自动生成sql语句的脚本
2021/02/24 Python
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
党校培训自我鉴定
2014/02/01 职场文书
求职意向书
2014/07/29 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
县委务虚会发言材料
2014/10/20 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
Node.js实现断点续传
2021/06/23 Javascript