jquery实现楼层滚动效果


Posted in jQuery onJanuary 01, 2018

本文实例为大家分享了jquery实现楼层滚动效果展示的具体代码,供大家参考,具体内容如下

html:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <title>Document</title> 
  <link rel="stylesheet" href="css/base.css" rel="external nofollow" > 
  <style> 
    #header,#f1,#f2,#f3{ 
      width: 80%; 
      height: 500px; 
      background: yellow; 
      margin-left: 10%; 
      margin-top: 50px; 
    } 
    #f1{ 
      background: green; 
    } 
    #f2{ 
      background: red; 
    } 
    #f3{ 
      background: blue; 
    } 
    #lift{ 
      position: fixed; 
      top: 280px; 
      display: none; 
    } 
    .lift_btn{ 
      display: inline-block; 
      width: 50px; 
      height: 50px; 
      border: 1px solid #000; 
    } 
    .hover{ 
      background: red; 
    } 
  </style> 
</head> 
<body> 
  <div id="header"></div> 
  <div class="floor" id="f1"> 
    <p>第一层</p> 
  </div> 
  <div class="floor" id="f2"> 
    <p>第二层</p> 
  </div> 
  <div class="floor" id="f3"> 
    <p>第三层</p> 
  </div> 
  <div id="lift"> 
    <ul> 
      <li class="lift_item"> 
        <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> 
          <span>1</span> 
        </a> 
      </li> 
      <li class="lift_item"> 
        <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> 
          <span>2</span> 
        </a> 
      </li> 
      <li class="lift_item"> 
        <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> 
          <span>3</span> 
        </a> 
      </li> 
    </ul> 
  </div> 
 
  <script src="js/jquery.min.js"></script> 
  <script src="js/floor.js"></script> 
</body> 
</html>

js:

(()=>{ 
  var $lift=$("#lift"); 
  $(window).scroll(()=>{ 
    var scrollTop=$('html,body').scrollTop(); 
    var $f1=$("#f1"); 
    var offsetTop=$f1.offset().top; 
    if(offsetTop<scrollTop+innerHeight/2) 
      $lift.fadeIn(500); 
    else 
      $lift.fadeOut(500); 
    var $floors=$(".floor"); 
    $floors.each((i,elem)=>{ 
      var $f=$(elem); 
      if($f.offset().top<scrollTop+innerHeight/2) 
        $lift.find(".lift_item:eq("+i+")").addClass("hover").siblings().removeClass("hover"); 
    }); 
  }); 
 
  $lift.children("ul").on("click","li",function(){ 
    var $li=$(this); 
    var i=$li.index(); 
    var $fi=$(".floor:eq("+i+")"); 
    var offsetTop=$fi.offset().top; 
    $("html").animate({ 
      scrollTop:offsetTop-60 
    },500) 
  }) 
})();

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

jQuery 相关文章推荐
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
关于jQuery中fade(),show()起始位置的一点小发现
Apr 25 jQuery
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
详解jQuery-each()方法
Mar 13 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
jquery实现左右轮播切换效果
Jan 01 #jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 #jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 #jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 #jQuery
使用jQuery 操作table 完成单元格合并的实例
Dec 27 #jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 #jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 #jQuery
You might like
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php实现Session存储到Redis
2015/11/11 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
PDO::query讲解
2019/01/29 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
date.parse在IE和FF中的区别
2010/07/29 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
python sleep和wait对比总结
2021/02/03 Python
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
英国综合网上购物商城:The Hut
2018/07/03 全球购物
历史教育专业个人求职信
2013/12/13 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
公司开会通知
2015/04/20 职场文书
单位实习介绍信
2015/05/05 职场文书