js實(shí)現(xiàn)圖片推拉門效果代碼實(shí)例
初學(xué)者。
推拉門是網(wǎng)頁(yè)中常見(jiàn)的一種形式,通過(guò)JS實(shí)現(xiàn)比較簡(jiǎn)單。主要是通過(guò)getElement找到節(jié)點(diǎn)元素,然后對(duì)其進(jìn)行相應(yīng)的賦值即可。
新建一個(gè)index.html文件,并在同一個(gè)目錄中添加三個(gè)文件夾,images(用來(lái)當(dāng)作“門”的圖片),styles(用來(lái)存放css文件),scripts(用來(lái)存放js文件)。然后在index.html中添加代碼:
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>sliding doors</title> <link rel="stylesheet" href="styles/doors.css" rel="external nofollow" /> <script src="scripts/doors.js"></script> </head> <body> <div id="container"> <img src="images/door1.jpg" alt="柯南" title="柯南"/> <img src="images/door2.jpg" alt="柯南" title="柯南"/> <img src="images/door3.jpg" alt="柯南" title="柯南"/> <img src="images/door4.jpg" alt="柯南" title="柯南"/> </div> </body> </html>
接著是styles目錄下的doors.css:
#container{ height:600px; border-right:1px solid #ccc; border-bottom:1px solid #ccc; margin:0 auto; position:relative; overflow:hidden; } #container img{ position:absolute; border-left:1px solid #ccc; display:block; left:0; }
然后是scripts目錄下的doors.js:
window.onload = function() { var box = document.getElementById("container"); //獲得容器對(duì)象 var imgs = box.getElementsByTagName("img"); //獲得圖片對(duì)象數(shù)組 imgWidth = imgs[0].offsetWidth; //圖片寬度 var exposeWidth = 100; //每張圖片露出的寬度 var boxWidth = imgWidth + exposeWidth * (imgs.length - 1); box.style.width = boxWidth + "px"; //初始化圖片位置 function reset() { for(var i = 1; i < imgs.length; i ++) { imgs[i].style.left = imgWidth + (i - 1) * exposeWidth + "px"; } } reset(); //開(kāi)門時(shí)候每個(gè)圖片應(yīng)該左移的距離 var translate = imgWidth - exposeWidth; //為每個(gè)圖片添加事件 for(var i = 0; i < imgs.length; i ++) { //自動(dòng)執(zhí)行函數(shù) (function(i){ imgs[i].onmouseover = function() { //重置圖片位置 reset(); for(var j = 1; j <= i; j ++) { imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + "px"; } }; })(i); } };
這樣即可實(shí)現(xiàn)推拉門效果。
效果如下,截圖略微粗糙
以上所述是小編給大家介紹的js實(shí)現(xiàn)圖片推拉門效果代碼實(shí)例詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子
今天小編就為大家分享一篇layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JavaScript使用function定義對(duì)象并調(diào)用的方法
這篇文章主要介紹了JavaScript使用function定義對(duì)象并調(diào)用的方法,實(shí)例分析了javascript中function定義及使用對(duì)象與方法的相關(guān)技巧,需要的朋友可以參考下2015-03-03BootStrap Validator使用注意事項(xiàng)(必看篇)
針對(duì)bootstrap2和bootstrap3有不同的版本,在使用bootstrap validator時(shí)需要了解其注意事項(xiàng),下面小編把我遇到的注意事項(xiàng)分享給大家,供大家參考2016-09-09怎樣使用?JavaScript?轉(zhuǎn)義字符串中的引號(hào)
要轉(zhuǎn)義字符串中的單引號(hào)或雙引號(hào),需要在字符串內(nèi)容中的每個(gè)單引號(hào)或雙引號(hào)之前使用反斜杠?\?字符,例如?‘that’s?it’,這篇文章主要介紹了如何使用?JavaScript?轉(zhuǎn)義字符串中的引號(hào),需要的朋友可以參考下2023-11-11使用JavaScript獲取Request中參數(shù)的值方法
下面小編就為大家?guī)?lái)一篇使用JavaScript獲取Request中參數(shù)的值方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09js實(shí)現(xiàn)截取某個(gè)字符串前面的內(nèi)容
這篇文章主要介紹了js實(shí)現(xiàn)截取某個(gè)字符串前面的內(nèi)容,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04我見(jiàn)過(guò)最全的個(gè)人js加解密功能頁(yè)面
利用js進(jìn)行加解密是我們經(jīng)常會(huì)遇到的一個(gè)功能,本文給大家介紹的是我目前見(jiàn)到的最全的個(gè)人js加解密功能頁(yè)面,分享出來(lái)供大家參考學(xué)習(xí),需要的朋友們隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2007-12-12three.js 制作動(dòng)態(tài)二維碼的示例代碼
這篇文章主要介紹了three.js 制作動(dòng)態(tài)二維碼的示例代碼,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07