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 相关文章推荐
用javascript作一个通用向导说明
Aug 30 Javascript
异步动态加载JS并运行(示例代码)
Dec 13 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
jQuery unbind 删除绑定事件详解
May 24 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
Bootstrap列表组学习使用
Feb 09 Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 Javascript
js实现手机web图片左右滑动效果
Dec 29 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
详解使用uni-app开发微信小程序之登录模块
May 09 Javascript
js实现轮播图效果 纯js实现图片自动切换
Aug 09 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 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
PHP 数组遍历顺序理解
2009/09/09 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
Jquery插件之多图片异步上传
2010/10/20 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
分享6个隐藏的python功能
2017/12/07 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python实现ftp文件传输功能
2020/03/20 Python
关于Python错误重试方法总结
2021/01/03 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
幼儿园亲子活动方案
2014/01/29 职场文书
委托书怎么写
2014/07/31 职场文书
世界读书日的活动方案
2014/08/20 职场文书
新郎结婚保证书
2015/02/26 职场文书
教研活动主持词
2015/07/03 职场文书
中秋节随笔
2015/08/15 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android
介绍一下28个JS常用数组方法
2022/05/06 Javascript