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 不间断的图片滚动并可点击
Jan 15 Javascript
JavaScript 页面编码与浏览器类型判断代码
Jun 03 Javascript
跟我学习javascript的undefined与null
Nov 17 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
Vue.js动态组件解析
Sep 09 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
Aug 28 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
Sep 15 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 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下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
python 自动批量打开网页的示例
2019/02/21 Python
Django 内置权限扩展案例详解
2019/03/04 Python
详解python的四种内置数据结构
2019/03/19 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
教师自我评价范文
2013/12/16 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
初三英语教学反思
2016/02/15 职场文书
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers