js實(shí)現(xiàn)樓層效果的簡單實(shí)例
今天自己寫個(gè)樓層效果,有一點(diǎn)煩躁,小地方犯錯(cuò)誤。各位大神來修改不足?。。?!
<!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實(shí)現(xiàn)樓層效果的簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JavaScript制作樓層導(dǎo)航效果流程詳解
- js實(shí)現(xiàn)樓層滾動(dòng)效果
- JS實(shí)現(xiàn)網(wǎng)站樓層導(dǎo)航效果代碼實(shí)例
- JS實(shí)現(xiàn)導(dǎo)航欄樓層特效
- AngularJS實(shí)現(xiàn)的錨點(diǎn)樓層跳轉(zhuǎn)功能示例
- JS實(shí)現(xiàn)留言板功能[樓層效果展示]
- 純html+css+javascript實(shí)現(xiàn)樓層跳躍式的頁面布局(實(shí)例代碼)
- js實(shí)現(xiàn)樓層導(dǎo)航功能
- JavaScript實(shí)現(xiàn)樓層效果
相關(guān)文章
js/jquery遍歷對(duì)象和數(shù)組的方法分析【forEach,map與each方法】
這篇文章主要介紹了js/jquery遍歷對(duì)象和數(shù)組的方法,結(jié)合實(shí)例形式分析了數(shù)組遍歷的forEach,map與each方法常見使用技巧,需要的朋友可以參考下2019-02-02JavaScript對(duì)象數(shù)組排序?qū)嵗椒\析
這篇文章主要介紹了JavaScript對(duì)象數(shù)組排序?qū)嵗椒\析的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-06-06js實(shí)現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法
這篇文章主要介紹了js實(shí)現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法,可實(shí)現(xiàn)根據(jù)文本框內(nèi)容動(dòng)態(tài)改變寬度的功能,涉及javascript動(dòng)態(tài)操作頁面元素屬性的技巧,需要的朋友可以參考下2015-08-08js實(shí)現(xiàn)鼠標(biāo)單擊Tab表單切換效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)鼠標(biāo)單擊Tab表單切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05jqgrid 表格數(shù)據(jù)導(dǎo)出實(shí)例
jqgrid并沒有自帶導(dǎo)出表格數(shù)據(jù)的方法,這里就自己實(shí)現(xiàn)了一個(gè),嘗試過在頁面直接將數(shù)據(jù)導(dǎo)出,發(fā)現(xiàn)只有IE下可以通過調(diào)用saveas來實(shí)現(xiàn),但是別的瀏覽器不支持,于是考慮將數(shù)據(jù)傳回后臺(tái),然后后臺(tái)返回下載文件來實(shí)現(xiàn)2013-11-11