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脚本性能优化注意事项
Nov 18 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
Jun 19 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
May 28 Javascript
AngularJS 自定义指令详解及示例代码
Aug 17 Javascript
JS中from 表单序列化提交的代码
Jan 20 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
VScode格式化ESlint方法(最全最好用方法)
Sep 10 Javascript
Vue使用轮询定时发送请求代码
Aug 10 Javascript
JavaScript中的执行环境和作用域链
Sep 04 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操作文件的一些基本函数使用示例
2014/11/18 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
php中的依赖注入实例详解
2019/08/14 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
layui数据表格重载实现往后台传参
2019/11/15 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
超简单使用Python换脸实例
2019/03/27 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
python dict如何定义
2020/09/02 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
学校万圣节活动方案
2014/02/13 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
经费申请报告范文
2015/05/18 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript