vue实现固定位置显示功能


Posted in Javascript onMay 30, 2019

在vue项目中实现吸顶效果.

比如说,我们要实现的功能是导航栏在页面下滑到一定位置之后,便固定不定。

首先:要在mounted生命周期内监听'scroll'事件,事件触发后,执行一个处理滚动的函数。

window.addEventListener('scroll', this.handleScroll)
  methods:{
handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 var offsetTop = document.querySelector('#searchBar').offsetTop
 if (scrollTop > offsetTop) {  //判断是否到达了顶部
  this.searchBarFixed = true
 } else {
  this.searchBarFixed = false
 }
}
 }

完整源代码如下:

<template>
<div>
 <div class="nav"></div>
<div class="searchBar" id="searchBar">
 <ul :class="searchBarFixed == true ? 'isFixed' :''"> //用v-bind绑定样式
  <li>区域<i class="iconfont icon-jiantouxia"></i></li>
  <li>价格<i class="iconfont icon-jiantouxia"></i></li>
  <li>房型<i class="iconfont icon-jiantouxia"></i></li>
  <li>更多<i class="iconfont icon-jiantouxia"></i></li>
 </ul>
</div>
<div class="content">
</div>
</div>
</template>
<script>
 export default {
  components:{
  },
mounted () {
 window.addEventListener('scroll', this.handleScroll)
},
    data(){
     return {
      searchBarFixed:false
    } 
 },
  methods:{
handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 var offsetTop = document.querySelector('#searchBar').offsetTop
 if (scrollTop > offsetTop) {
  this.searchBarFixed = true
 } else {
  this.searchBarFixed = false
 }
},
 }
 }
</script>
<style lang="less" scope>
.nav{
 height: 250px;
}
.content{
 height: 1900px;
}
.searchBar{
 .isFixed{
  position:fixed;
  background-color:#Fff;
  top:0;
  z-index:999;
 }
 ul {
  width:100%;
  height: 40px;
  line-height: 40px;
  display: flex;
  li {
   list-style: none;
   font-size: 0.8rem;
   text-align: center;
   flex: 1;
   i {
    font-size: 0.9rem;
    padding-left: 5px;
    color: #ccc;
   }
  }
  border-bottom: 1px solid #ddd;
 }
}
</style>

总结

以上所述是小编给大家介绍的vue实现固定位置显示功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢! 

Javascript 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
自动更新作用
Oct 08 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
详解Angular Reactive Form 表单验证
Jul 06 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
详解基于vue-cli配置移动端自适应
Jan 13 Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
Sep 05 Javascript
javascript 对象 与 prototype 原型用法实例分析
Nov 11 Javascript
JavaScript实现轮播图效果
Oct 30 Javascript
搭建一个Koa后端项目脚手架的方法步骤
May 30 #Javascript
JS使用cookie保存用户登录信息操作示例
May 30 #Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 #Javascript
Vue使用axios出现options请求方法
May 30 #Javascript
vue动态注册组件实例代码详解
May 30 #Javascript
实用的Vue开发技巧
May 30 #Javascript
vue-router的两种模式的区别
May 30 #Javascript
You might like
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
PHP 采集程序 常用函数
2008/12/18 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
javascript 面向对象 function类
2010/05/13 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
简介JavaScript中的push()方法的使用
2015/06/09 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
python实现logistic分类算法代码
2020/02/28 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
python模块内置属性概念及实例
2021/02/18 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
保研推荐信
2014/05/09 职场文书
教师四风问题整改措施
2014/09/25 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
交通事故调解协议书
2015/05/20 职场文书
暑期工社会实践报告
2015/07/13 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
车位出租协议书范本
2016/03/19 职场文书
Python日志模块logging用法
2022/06/05 Python