js实现楼层效果的简单实例
来源: 阅读:4187 次 日期:2016-07-27 14:57:17
温馨提示: 小编为您整理了“js实现楼层效果的简单实例”,方便广大网友查阅!

下面小编就为大家带来一篇js实现楼层效果的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。

<!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实现楼层效果的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map