js电梯效果
来源:互联网 发布:linux mysql 是否启动 编辑:程序博客网 时间:2024/05/16 05:10
html页面
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>左侧电梯演示</title> <script src="js/jquery-1.10.2.js"></script> <script src="js/LiftEffect.js"></script> <style> *{ margin: 0; padding: 0; } body{ height: 6000px; } .lift-nav{ position: fixed; top: 100px; left: 30px; display: none; } .lift-nav li{ width: 30px; height: 30px; text-align: center; line-height: 30px; color: #fff; padding: 10px 10px; margin-bottom: 10px; background: skyblue; cursor: pointer; } .lift-nav li.current{ background: tomato; } .t1,.t2,.t3,.t4,.t5,.t6{ width: 800px; height: 400px; text-align: center; line-height: 400px; background: skyblue; margin: 100px auto; font-size: 30px; color: #fff; } .t1{ margin-top: 200px; } .t2{ background: pink; } .t3{ background: tomato; } .t4{ background: grey; } .t5{ background: yellow; } .t6{ background: seagreen; } </style></head><body><div class="lift-nav"> <ul class="lift"> <li>1楼</li> <li>2楼</li> <li>3楼</li> <li>4楼</li> <li>5楼</li> <li>6楼</li> </ul></div><div class="lift-target"> <div class="t1">这是1楼</div> <div class="t2">这是2楼</div> <div class="t3">这是3楼</div> <div class="t4">这是4楼</div> <div class="t5">这是5楼</div> <div class="t6">这是6楼</div></div><script> $(function(){ LiftEffect({ "control1": ".lift-nav", //侧栏电梯的容器 "control2": ".lift", //需要遍历的电梯的父元素 "target": [".t1",".t2",".t3",".t4",".t5",".t6"], //监听的内容,注意一定要从小到大输入 "current": "current" //选中的样式 }); })</script></body></html>
LiftEffect.js内容
// LiftEffect({// "control1": ".lift2", //侧栏电梯的容器// "control2": "#ccc", //需要遍历的电梯的父元素// "target": [".dianti1",".dianti2",".dianti3"], //监听的内容,注意一定要从小到大输入// "current": "xuanzhong" //选中的样式// });function LiftEffect(json){var array=[];for(var i =0; i<json.target.length;i++){ var t = $(json.target[i]).offset().top; array.push(t);}function Selected(index){ $(json.control2).children().eq(index).addClass(json.current).siblings().removeClass(json.current);}$(window).on("scroll",Check);function Check(){ var wst = $(window).scrollTop(); if(wst >= $(json.target[0]).offset().top-100){ $(json.control1).fadeIn(500); }else{ $(json.control1).fadeOut(500); } var key =0; var flag = true; for(var i =0; i<array.length; i++){ key++; if(flag){ if(wst >= array[array.length-key]-300){ var index = array.length-key; flag = false; }else{ flag=true; } } } Selected(index);}$(json.control2).children().on("click",function(){ $(window).off("scroll"); var index = $(this).index(); Selected(index); var flag = true; for(var i =0; i<array.length; i++){ if(flag){ if(index == i){ $("html,body").stop().animate({ "scrollTop": array[i]-50 },500,function(){ $(window).on("scroll",Check); }); flag = false; }else{ flag=true; } } }});}
注意要导入js库
阅读全文
0 0
- js电梯效果
- 电梯
- 电梯
- 电梯
- 电梯
- 电梯
- 电梯
- 电梯
- 电梯
- 电梯
- js模拟电梯运行的例子
- 电梯效果一(只实现了单个人上下电梯,多人的待续--)
- web学习笔记12-移动端简易电梯效果
- js效果
- js 效果
- js效果
- js效果
- js效果
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- 实用类介绍1
- Android 构架师之路 UML
- 判断是否为手机号码
- vue之模板语法
- js电梯效果
- 数组名作为函数参数
- Vue-router教程
- 自己写的几个函数
- Leetcode_654 Maximum Binary Tree
- 地址下拉列表框
- 实用类介绍2
- SAP报表开发工具 Report Painter
- CBoard框架数据集实现--DataProvider