jQuery实现电梯导航模块


Posted in jQuery onDecember 22, 2020

本文实例为大家分享了jQuery实现电梯导航模块的具体代码,供大家参考,具体内容如下

功能模块

1、当页面滚动到电器的模块, 显示电梯导航
2、点击电梯导航中的 li, 页面滚动到对应的内容区域
3、为当前点击的 li 添加 current 类
4、页面内容滚动到第几个区域, 左侧的电梯导航自动高亮对应的 li
5、为页面滚动设置节流阀(点击 li 时, 不进行第4步判断)

html部分结构

<ul class="sidebar">
  <li>手机模块</li>
  <li>电器模块</li>
  <li>产品模块</li>
  <li>服装模块</li>
  <li>鞋子模块</li>
 </ul>

 <section class="main">

  <div>手机模块</div>
  <div class="model">电器模块</div>
  <div>产品模块</div>
  <div>服装模块</div>
  <div>鞋子模块</div>
</section>

css部分 

* {
  margin: 0;
  padding: 0;
  margin: 0 auto;
 }
 
 div {
  width: 600px;
  height: 600px;
  border: 1px solid red;
 }
 
 li {
  list-style: none;
  border: 1px solid #abcdef;
  cursor: pointer;
 }
 
 .sidebar {
  display: none;
  position: fixed;
  left: 0;
  top: 350px;
  width: 66px;
  height: 200px;
 }
 
 .current {
  background-color: red;
 }

jQuery部分

//节流阀开启
 var flag = true
 //页面滚动事件
 $(window).scroll(function() {
   // 当页面滚动到电器模块侧边栏显示
   $(this).scrollTop() >= $('.model').offset().top ? $('.sidebar').show() : $('.sidebar').hide()
    // 遍历div
   $('.main div').each(function(i, item) {
    if (flag == false) {
     return
    }
    var Top = $(item).offset().top
     // 滚动的距离大于等于当前盒子离顶部的距离
    if ($(window).scrollTop() >= Top) {
    //显示高亮
     $('.sidebar li').eq(i).addClass('current').siblings().removeClass('current')
    }
   })
  })
  //点击让li,出现在对应的位置
  //绑定点击事件,获取索引,获取楼层与顶部的距离,给html添加动画
 $('.sidebar li').click(function() {

  // 节流阀关闭了
  flag = false
   // 改变背景颜色
   // 获取当前的索引值
  var index = $(this).index()
   // 获取当前索引位置上的盒子离顶部的距离
  var top = $('div').eq(index).offset().top
   // 给html添加动画
  $('html,body').animate({
   scrollTop: top

  }, function() {
   flag = true
  })
  //点击显示高亮
  $(this).addClass('current').siblings().removeClass('current')


})

jQuery实现电梯导航模块

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery操作css样式
May 15 jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
jquery实现选项卡切换代码实例
May 14 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
jQuery实现tab栏切换效果
Dec 22 #jQuery
jQuery+ajax实现文件上传功能
Dec 22 #jQuery
jQuery实现动态向上滚动
Dec 21 #jQuery
Jquery+javascript实现支付网页数字键盘
Dec 21 #jQuery
jquery实现淡入淡出轮播图效果
Dec 13 #jQuery
jquery实现拖拽小方块效果
Dec 10 #jQuery
jQuery实现简单弹幕制作
Dec 10 #jQuery
You might like
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
Python2中的raw_input() 与 input()
2015/06/12 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
大学毕业后的十年规划
2014/01/07 职场文书
《老山界》教学反思
2014/04/08 职场文书
小班下学期评语
2014/05/04 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫