jquery实现吸顶导航效果


Posted in jQuery onJanuary 08, 2020

本文实例为大家分享了jquery实现吸顶导航效果的具体代码,供大家参考,具体内容如下

css:

*{margin:0;padding:0;}
 body{
 margin:0 auto;
   max-width:10rem;
 }
 header{
 width:10rem;
 height:1rem;
 background:red;
 position:fixed;
 top:0;
 left:auto;
 }
 section{
 height:100%;
 overflow: auto;
 padding:1rem 0;
 }
 .bananers{
 width:100%;
 height:3rem;
 text-align: center;
 line-height:3rem;
 background: aqua;
 }
 .mains{
 width:100%;
 height:1rem;
 background:red;
 display: flex;
 }
 .mains>div{
 width:100%;
 height:100%;
 border:1px solid #dddddd;
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .contents{
 width:100%;
 }
 .contents>div{
 height:50px;
 line-height:50px;
 padding-left:10%;
 border-bottom:1px solid red;
 }
 footer{
 width:10rem;
 height:1rem;
 background: #0086B3;
 position:fixed;
 left:auto;
 bottom:0;
 }
  .fixed-top {
    position: fixed;
    width: 100%;
    top:1rem;
    left:auto;
  }
  .sticky {
    position: -webkit-sticky;/*滚过初始位置时自动吸顶*/
    position: sticky;/*吸顶时的定位*/
    top:1rem;
    left:auto;
    z-index: 999;/*z-index比下方所有层级要高*/
  }

html:

<header>头部</header>
<section>
  <div class="bananers">内容</div>
  <div class="mains">
  <div>导航1</div>
  <div>导航2</div>
  <div>导航3</div>
  </div>
  <div class="contents"></div>
</section>
<footer>页脚</footer>

js:

for(var i=0;i<20;i++){
 $(".contents").append(`<div>${i+1}</div>`)
 }
 var headers=$("header")[0].getBoundingClientRect().height;
 var mains=$(".mains").offset().top;
 var heights=mains-headers;
 $(".bananers").html(mains+"----"+headers);
 var tops = document.querySelector('.mains');
 function fixed(num) {
    var nys= navigator.userAgent;
    var isAndroid = nys.indexOf('Android') > -1 || nys.indexOf('Adr') > -1; 
    var isIOS = !!nys.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); 
    if(isAndroid) {
      document.body.onscroll = function(e) {
        var scrollT = document.body.scrollTop;
        if (scrollT > num) {
          $(tops).addClass('fixed-top');
        }else {
          $(tops).removeClass('fixed-top');
        }
      };
    }else if(isIOS) {
      $(tops).addClass('sticky');
    }
  }
fixed(heights);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
jquery图片放大镜效果
Jun 23 jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery实现视频展示效果
May 30 jQuery
jQuery插件实现图片轮播效果
Oct 19 jQuery
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
基于jQuery实现挂号平台首页源码
Jan 06 #jQuery
详解jQuery中的prop()使用方法
Jan 05 #jQuery
jQuery 选择器用法基础入门示例
Jan 04 #jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 #jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 #jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 #jQuery
JQuery常用选择器功能与用法实例分析
Dec 23 #jQuery
You might like
PHP文本数据库的搜索方法
2006/10/09 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
Laravel中9个不经常用的小技巧汇总
2019/04/16 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
js打造数组转json函数
2015/01/14 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python编码类型转换方法详解
2016/07/01 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
Python之循环结构
2019/01/15 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
酒店个人培训自我鉴定
2013/12/11 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
期末自我鉴定
2014/02/02 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL