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 相关文章推荐
JS将表单导出成EXCEL的实例代码
Nov 11 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
jQuery网页右侧广告跟随滚动代码分享
Apr 20 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
May 11 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
May 10 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
js实现课堂随机点名系统
Nov 21 Javascript
Postman内建变量常用方法实例解析
Jul 28 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输出Excel文件类
2010/02/08 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python实现获取Ip归属地等信息
2016/08/27 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
Python递归函数特点及原理解析
2020/03/04 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python新手学习使用库
2020/06/11 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
培训演讲稿范文
2014/01/12 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers