js实现楼层效果的简单实例


Posted in Javascript onJuly 15, 2016

今天自己写个楼层效果,有一点烦躁,小地方犯错误。各位大神来修改不足啊!!!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>楼层切换</title>
<style>
*{padding: 0;margin: 0;}
li{list-style: none;}
.main img{width: 850px;height: 700px;float: left;}
.title{width: 850px;height: 50px;text-align: center;line-height: 50px;}
.floor{position: fixed;top: 20px;right: 20px;display: none;}
.floor ul li{width: 70px;height: 30px;text-align: center;line-height: 30px;cursor: hand;cursor: pointer}
.liStyle{background-color: red;}
.loading{background:url("image/loading.gif") no-repeat center center;}
#back{cursor: hand;cursor: pointer;}
</style>
</head>
<body>
<div class="main" id="main">
<h3 class="title">图片欣赏</h3>
<img as="image/1.jpg"/>
<img as="image/2.jpg"/>
<img as="image/3.jpg"/>
<img as="image/4.jpg"/>
<img as="image/5.jpg"/>
<img as="image/6.jpg"/>
<img as="image/7.gif"/>
<img as="image/8.jpg"/>
<img as="image/9.jpg"/>
<img as="image/10.jpg"/>
</div>
<div class="floor" id="floor">
<ul id="floorUl">
<li>第一张</li>
<li>第二张</li>
<li>第三张</li>
<li>第四张</li>
<li>第五张</li>
<li>第六张</li>
<li>第七张</li>
<li>第八张</li>
<li>第九张</li>
<li>第十张</li>
</ul>
<p id="back">返回顶部</p></div><script> var main = document.getElementById("main"); 
var floor = document.getElementById("floor"); 
var image = main.getElementsByTagName("img"); 
var floorUl = document.getElementById("floorUl"); 
var li = floorUl.getElementsByTagName("li"); 
var back = document.getElementById("back"); 
window.onload = window.onscroll = function(){ 
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; 
var height = document.documentElement.clientHeight || document.body.clientHeight; 
for(var i = 0;i < image.length; i++){ 
image[i].className = "loading"; 
if(delay(image[i]).top < scrollTop + height){ 
image[i].src = image[i].getAttribute("as"); 
} 
} 
if(scrollTop >= image[0].offsetTop){ 
floor.style.display = "block"; 
}else { 
floor.style.display = "none"; 
} 
var num = 0; 
for(var i = 0; i < image.length;i++){ 
if(scrollTop >= image[i].offsetTop){ 
num = i; 
} 
li[i].className = ""; 
} 
li[num].className = "liStyle"; 
for(var i = 0;i < li.length;i++){ 
li[i].onclick = function(){ 
for(var j = 0;j < li.length;j++){ 
if(this == li[j]){ 
document.documentElement.scrollTop = image[j].offsetTop; 
document.body.scrollTop = image[j].offsetTop; 
} 
} 
} 
} 
} 
var time = null; 
back.onclick = function() {
function goBack(){ 
var ss = document.documentElement.scrollTop || document.body.scrollTop; 
ss-=50; 
document.documentElement.scrollTop = ss; 
document.body.scrollTop = ss; 
if(ss<= 0){ 
clearInterval(time); 
} 
} 
time = setInterval(goBack,1); 
} 
function delay(obj){ 
var l = 0; 
var t = 0; 
while (obj){ 
l = l + obj.offsetLeft; 
t = t + obj.offsetTop; 
obj = obj.offsetParent; 
} 
return{left:l,top:t}; 
}
</script>
</body>
</html>

以上这篇js实现楼层效果的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何用js控制css中的float的代码
Aug 16 Javascript
jquery animate图片模向滑动示例代码
Jan 26 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
Mar 26 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
Dec 09 Javascript
原生js制作日历控件实例分享
Apr 06 Javascript
JavaScript实现瀑布流以及加载效果
Feb 11 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
Sep 03 Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
基于JavaScript实现轮播图代码
Jul 14 #Javascript
js轮播图代码分享
Jul 14 #Javascript
jQuery中deferred对象使用方法详解
Jul 14 #Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 #Javascript
基于jQuery的ajax方法封装
Jul 14 #Javascript
由浅入深剖析Angular表单验证
Jul 14 #Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 #Javascript
You might like
简单易用的计数器(数据库)
2006/10/09 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
python optparse模块使用实例
2015/04/09 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
python中模块的__all__属性详解
2017/10/26 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
个人简历自我评价
2014/01/06 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
二手房买卖协议书
2014/04/10 职场文书
停车位租赁协议书
2014/09/24 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
考研英语复习计划
2015/01/19 职场文书
兴趣班停课通知
2015/04/24 职场文书
爱心捐助活动总结
2015/05/09 职场文书
使用python绘制横竖条形图
2022/04/21 Python