欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery网页定位导航特效实现方法

程序员文章站 2023-08-19 10:51:31
本文实例讲述了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程序设计有所帮助。