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 EasyPager 分页函数
May 25 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
详解js中==与===的区别
Jan 08 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
简述Angular 5 快速入门
Nov 04 Javascript
基于vue-ssr服务端渲染入门详解
Jan 08 Javascript
js中的闭包学习心得
Feb 06 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
angular异步验证防抖踩坑实录
Dec 01 Javascript
vscode 插件开发 + vue的操作方法
Jun 05 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP新手上路(九)
2006/10/09 PHP
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
使用jquery解析XML的方法
2014/09/05 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
python 实现Harris角点检测算法
2020/12/11 Python
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
工程造价专业大学生职业规划范文
2014/03/09 职场文书
天地会口号
2014/06/17 职场文书
创先争优公开承诺书
2014/08/30 职场文书
事业单位年度考核评语
2014/12/31 职场文书
皇城相府导游词
2015/02/06 职场文书
医生辞职信范文
2015/03/02 职场文书
学校计划生育责任书
2015/05/09 职场文书
十二生肖观后感
2015/06/12 职场文书
入队仪式主持词
2015/07/04 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript