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 相关文章推荐
IE中直接运行显示当前网页中的图片 推荐
Aug 31 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
Oct 17 Javascript
jQuery中slice()方法用法实例
Jan 07 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 Javascript
js实现鼠标拖动功能
Mar 20 Javascript
js 图片转base64的方式(两种)
Apr 24 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
微信小程序左滑删除实现代码实例
Sep 16 Javascript
Vue Router 实现动态路由和常见问题及解决方法
Mar 06 Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 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学习笔记 类的声明与对象实例化
2011/06/13 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
让元素在网页中可拖动示例代码
2013/08/13 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
node.js实现快速截图
2016/08/27 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Django app配置多个数据库代码实例
2019/12/17 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
Keras设置以及获取权重的实现
2020/06/19 Python
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
大四自我鉴定范文
2013/10/06 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
公司经营目标责任书
2015/01/29 职场文书
无故旷工检讨书
2015/08/15 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android