js實現(xiàn)圖片推拉門效果代碼實例
初學(xué)者。
推拉門是網(wǎng)頁中常見的一種形式,通過JS實現(xiàn)比較簡單。主要是通過getElement找到節(jié)點元素,然后對其進(jìn)行相應(yīng)的賦值即可。
新建一個index.html文件,并在同一個目錄中添加三個文件夾,images(用來當(dāng)作“門”的圖片),styles(用來存放css文件),scripts(用來存放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"); //獲得容器對象
var imgs = box.getElementsByTagName("img"); //獲得圖片對象數(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();
//開門時候每個圖片應(yīng)該左移的距離
var translate = imgWidth - exposeWidth;
//為每個圖片添加事件
for(var i = 0; i < imgs.length; i ++)
{
//自動執(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);
}
};
這樣即可實現(xiàn)推拉門效果。
效果如下,截圖略微粗糙

以上所述是小編給大家介紹的js實現(xiàn)圖片推拉門效果代碼實例詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子
今天小編就為大家分享一篇layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript使用function定義對象并調(diào)用的方法
這篇文章主要介紹了JavaScript使用function定義對象并調(diào)用的方法,實例分析了javascript中function定義及使用對象與方法的相關(guān)技巧,需要的朋友可以參考下2015-03-03
BootStrap Validator使用注意事項(必看篇)
針對bootstrap2和bootstrap3有不同的版本,在使用bootstrap validator時需要了解其注意事項,下面小編把我遇到的注意事項分享給大家,供大家參考2016-09-09
怎樣使用?JavaScript?轉(zhuǎn)義字符串中的引號
要轉(zhuǎn)義字符串中的單引號或雙引號,需要在字符串內(nèi)容中的每個單引號或雙引號之前使用反斜杠?\?字符,例如?‘that’s?it’,這篇文章主要介紹了如何使用?JavaScript?轉(zhuǎn)義字符串中的引號,需要的朋友可以參考下2023-11-11
使用JavaScript獲取Request中參數(shù)的值方法
下面小編就為大家?guī)硪黄褂肑avaScript獲取Request中參數(shù)的值方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09

