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 Plupload上传插件的使用
Apr 19 jQuery
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
使用jQuery实现动态添加小广告
Jul 11 jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
jquery实现点击弹出对话框
Feb 08 jQuery
jQuery 移除事件的方法
Jun 20 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
codeigniter框架批量插入数据
2014/01/09 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
爱国演讲稿500字
2014/05/04 职场文书
房地产开发项目建议书
2014/05/16 职场文书
植树节标语
2014/06/27 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
毕业设计论文评语
2014/12/31 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
超级详细实用的pycharm常用快捷键
2021/05/12 Python
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python