jQuery网页定位导航特效实现方法
作者:鬼畜十三
这篇文章主要介绍了jQuery网页定位导航特效实现方法,结合实例形式分析了jQuery网页定位导航的功能描述、原理与核心实现代码,需要的朋友可以参考下
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。