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 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
ImageFlow可鼠标控制图片滚动
Jan 30 Javascript
JS构建页面的DOM节点结构的实现代码
Dec 09 Javascript
jQuery中的read和JavaScript中的onload函数的区别
Aug 27 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
Oct 30 Javascript
在Vue中如何使用Cookie操作实例
Jul 27 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
Apr 17 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
React服务端渲染原理解析与实践
Mar 04 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快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
Vue实现日历小插件
2019/06/26 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
分分钟入门python语言
2018/03/20 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
农村党支部先进事迹
2014/01/14 职场文书
个人融资协议书
2014/10/02 职场文书
政府四风问题整改措施
2014/10/04 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android