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怎么为数据库表字段添加索引以优化查询
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化

