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语句中的CDATA标签的意义
May 09 Javascript
JQuery对checkbox操作 (循环获取)
May 20 Javascript
JavaScript 实现鼠标拖动元素实例代码
Feb 24 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
javascript清空table表格的方法
May 14 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
Jan 18 Javascript
Google Maps基础及实例解析
Aug 06 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
Vue中v-for的数据分组实例
Mar 07 Javascript
js实现无限瀑布流实例方法
Sep 16 Javascript
JavaScript中while循环的基础使用教程
Aug 11 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+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
Python Selenium库的基本使用教程
2021/01/04 Python
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
C++程序员求职信范文
2014/04/14 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis