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 相关文章推荐
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
Dec 02 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
Dec 19 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
vue实现商城购物车功能
Nov 27 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 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语法速查表
2007/01/02 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
Javascript - HTML的request类
2006/07/15 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
对django中render()与render_to_response()的区别详解
2018/10/16 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
python else语句在循环中的运用详解
2020/07/06 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
工作中个人的自我评价
2013/12/31 职场文书
小学教师听课制度
2014/02/01 职场文书
八年级英语教学反思
2016/02/15 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
python实现简单区块链结构
2021/04/25 Python
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers