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 相关文章推荐
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 Javascript
JQuery学习笔录 简单的JQuery
Apr 09 Javascript
js简单实现HTML标签Select联动带跳转
Oct 23 Javascript
实现js保留小数点后N位的代码
Nov 13 Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
Vue 实现展开折叠效果的示例代码
Aug 27 Javascript
Vue3.0结合bootstrap创建多页面应用
May 28 Javascript
Vue中多元素过渡特效的解决方案
Feb 05 Javascript
基于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
松下Panasonic RF-B65电路分析
2021/03/02 无线电
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python实现字符串和字典的转换
2018/09/29 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python从内存地址上加载python对象过程详解
2020/01/08 Python
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
应届生如何写自荐信
2014/01/05 职场文书
四年级语文教学反思
2014/02/05 职场文书
教师师德承诺书
2014/03/26 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
离职感谢信
2015/01/21 职场文书
学校教师培训工作总结
2015/10/14 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
python小型的音频操作库mp3Play
2022/04/24 Python