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 相关文章推荐
javascript 冒泡排序 正序和倒序实现代码
Dec 14 Javascript
JavaScript全局函数使用简单说明
Mar 11 Javascript
JQuery获取文本框中字符长度的代码
Sep 29 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
JS预览图像将本地图片显示到浏览器上
Aug 25 Javascript
详解jquery easyui之datagrid使用参考
Dec 05 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
Node.js pipe实现源码解析
Aug 12 Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 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
终于听上了直流胆调频
2021/03/02 无线电
php htmlentities()函数的定义和用法
2016/05/13 PHP
php实现微信支付之现金红包
2018/05/30 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
Python生成pdf文件的方法
2014/08/04 Python
python简单实现获取当前时间
2016/08/27 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
专业毕业生个性的自我评价
2013/10/03 职场文书
团支书的期末学习总结自我评价
2013/11/01 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
2014年行政部工作总结
2014/11/19 职场文书
学术会议邀请函
2015/01/30 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
创业计划书之餐饮
2019/09/02 职场文书