jQuery网页定位导航特效实现方法


Posted in Javascript onDecember 19, 2016

本文实例讲述了jQuery网页定位导航特效实现方法。分享给大家供大家参考,具体如下:

描述:左右联动的导航,非常适合展示页面内容多,区块划分又很明显的,点击右边固定导航项时,左边的内容跟着切换。滑动滚动条的时候,右边的导航也随着左边的展示而进行高亮切换。

思路:比较滚动距离和楼层距离(相对于顶部),如果滚动距离大于等于楼层距离,即进入了相应楼层,然后通过一个变量来记录该楼层的信息,最后传递给右边高亮显示

1.点击右边固定导航项时,左边的内容跟着切换。

只需将右边a的href设置为左边区块的id加上#即可

2.滑动滚动条的时候,右边的导航也随着左边的展示而进行高亮切换。

核心代码如下:

$(function(){
  $(window).on("scroll",function(e){
    var $floor=$("li[id^=floor]");
    var $nav=$(".mui-lift-nav");
    var floorId="";
    var scrollTop=$(this).scrollTop();
    $floor.each(function(index,Ele){ //index是每个楼层的索引,Ele是每个楼层节点的dom元素对象(这个对象是原生对象,不是jquery对象)
      var offsetTop=$(Ele).offset().top; //Ele给它一层封装,必须加个美元符号,才能把它转换为jquery对象
      if(scrollTop>=offsetTop){
        floorId="#"+$(this).attr("id");
      }else{
        return false;
      }
    });
    $nav.filter("[href="+floorId+"]").addClass("mui-lift-cur-nav").siblings().removeClass("mui-lift-cur-nav");   //filter方法可以在一个集合里筛选出所要的元素
    if(scrollTop<$floor.first().offset().top ||scrollTop>$floor.last().offset().top+$floor.last().height()){
      $nav.removeClass("mui-lift-cur-nav");
    }
  });
})

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 给汉字排序实例代码
Jun 28 Javascript
用javascript getComputedStyle获取和设置style的原理
Oct 10 Javascript
jQuery的slideToggle方法实例
May 07 Javascript
键盘KeyCode值列表汇总
Nov 26 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
原生JS实现音乐播放器
Jan 26 Javascript
Nest.js 授权验证的方法示例
Feb 22 Javascript
在JavaScript中如何使用宏详解
May 06 Javascript
关于微信上网页图片点击全屏放大效果
Dec 19 #Javascript
详解jQuery lazyload 懒加载
Dec 19 #Javascript
JS实现滑动门效果的方法详解
Dec 19 #Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 #Javascript
简单理解js的冒泡排序
Dec 19 #Javascript
JS瀑布流实现方法实例分析
Dec 19 #Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 #Javascript
You might like
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
JavaScript打字小游戏代码
2011/12/26 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
公司前台辞职报告
2014/01/19 职场文书
管理标语大全
2014/06/24 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
专职安全员岗位职责
2015/04/11 职场文书
正规借条模板
2015/05/26 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
关于保护环境的建议书
2019/06/24 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
新手入门Mysql--sql执行过程
2021/06/20 MySQL
Java8中接口的新特性使用指南
2021/11/01 Java/Android
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang