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 相关文章推荐
UserData用法总结 lanyu出品
Jul 01 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
Aug 11 Javascript
javascript中自定义对象的属性方法分享
Jul 12 Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 Javascript
初步了解javascript面向对象
Nov 09 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
js精准的倒计时函数分享
Jun 29 Javascript
JS封装的选项卡TAB切换效果示例
Sep 20 Javascript
Javascript中的async awai的用法
May 17 Javascript
老生常谈javascript的面向对象思想
Aug 22 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
Jul 26 Javascript
JS 基本概念详细介绍
Oct 16 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
学习PHP session的传递方式
2016/06/15 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
校园创业策划书
2014/01/14 职场文书
领导干部考察材料
2014/02/08 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
三峡导游词
2015/01/31 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android