js实现楼层导航功能

发布时间 - 2026-01-10 23:14:09    点击率:

图如下所示:

1.点击跳转到相应区域:

页面scroll掉的距离 = 目标板块在文档中的垂直坐标 - 起始板块(目标位置)到视图顶部的距离;

  document.body.scrollTop = scrollLength; 
  document.documentElement.scrollTop = scrollLength;

2.滚动滚动条时对应的导航链接被激活

每个板块的导航链接对应一个长度区间,当滚动条滚动调的长度落在该区间时,该导航条则被选中。区间范围为当前板块的scrollTop值(包含)~下一板块的ScrollTop值(不包含)。

例如:第一板块的区间为0~第二板块的scrollTop值(即第一板块的高度),当滚动条滚动的距离落在该区间时,则第一个链接激活。

如何确定区间?将链接倒叙排列,依次循环判断,第一个(滚动条滚动的距离>区间最小值)成立的链接即为激活链接。

var currIndex=0;
window.onscroll = function () {
  var $cptop = $('.cp-top');
  var scrollLength = document.documentElement.scrollTop || document.body.scrollTop; //滚动条滚动的距离
  var list_area = _.map($('#area li.group'), function (item, index) {
      return { top: item.offset().top, index: index };
   }); //所有的板块
   list_area = _.sortBy(list, function (item) { return -item.index; }); //倒序
  var reachedArea = _.find(list_area, function (item) {
     return scrollLength >= item.top;
   });    //滚动的距离大于该区间的最小top值
  if (currIndex != reachedArea.index) {
      currIndex = reachedArea.index;
      $(".navField li").removeClass('selected');
      $(".navField li").eq(reachedField.index).addClass('selected');
  }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js楼层导航  # JavaScript制作楼层导航效果流程详解  # js实现楼层滚动效果  # JS实现网站楼层导航效果代码实例  # JS实现导航栏楼层特效  # AngularJS实现的锚点楼层跳转功能示例  # JS实现留言板功能[楼层效果展示]  # 纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)  # js实现楼层效果的简单实例  # JavaScript实现楼层效果  # 滚动条  # 第一个  # 落在  # 下一  # 所示  # 即为  # 跳转到  # 不包含  # 最小值  # 导航条  # 文档  # body  # class  # document  # js  # scrollTop  # documentElement  # reachedField  # scrollLength  # eq 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  jquery插件bootstrapValidator表单验证详解  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何快速生成高效建站系统源代码?  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel怎么使用artisan命令缓存配置和视图  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  如何在香港服务器上快速搭建免备案网站?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何登录建站主机?访问步骤全解析  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  C#如何调用原生C++ COM对象详解  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  大型企业网站制作流程,做网站需要注册公司吗?  如何正确选择百度移动适配建站域名?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何保护应用免受CSRF攻击?(原理和示例)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  浅谈javascript alert和confirm的美化  大同网页,大同瑞慈医院官网?  Laravel如何创建自定义Artisan命令?(代码示例)  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何在自有机房高效搭建专业网站?  如何用免费手机建站系统零基础打造专业网站?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  JavaScript如何实现音频处理_Web Audio API如何工作?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何用VPS主机快速搭建个人网站?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  利用JavaScript实现拖拽改变元素大小  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Laravel如何实现模型的全局作用域?(Global Scope示例)  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  浅谈Javascript中的Label语句  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  如何基于云服务器快速搭建个人网站?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么为数据库表字段添加索引以优化查询  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化