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 Array对象入门分析
Oct 30 Javascript
javascript 全等号运算符使用说明
May 31 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
Jan 13 Javascript
小议JavaScript中Generator和Iterator的使用
Jul 29 Javascript
js实现卡片式项目管理界面UI设计效果
Dec 08 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 Javascript
vue服务端渲染的实例代码
Aug 28 Javascript
js实现简单分页导航栏效果
Jun 28 Javascript
七行JSON代码把你的网站变成移动应用过程详解
Jul 09 Javascript
京东优选小程序的实现代码示例
Feb 25 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 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
优化PHP代码的53条建议
2008/03/27 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
php截取视频指定帧为图片
2016/05/16 PHP
DEFER怎么用?
2006/07/01 Javascript
js 走马灯简单实例
2013/11/21 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
vue中$nextTick的用法讲解
2019/01/17 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
理解Python垃圾回收机制
2016/02/12 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
你真的了解Python的random模块吗?
2017/12/12 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
python多进程并发demo实例解析
2019/12/13 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
Python接口测试文件上传实例解析
2020/05/22 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
个人自我鉴定范文
2013/10/04 职场文书
滴水洞导游词
2015/02/10 职场文书
老干部座谈会主持词
2015/07/03 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS