JavaScript實現(xiàn)滑動門效果
本文實例為大家分享了JavaScript實現(xiàn)滑動門效果的具體代碼,供大家參考,具體內(nèi)容如下
一、什么是滑動門
首先你要了解什么是滑動門。
生活中我們經(jīng)??吹揭恍┚W(wǎng)站或是商城有一些滑動門的效果

那么怎么實現(xiàn)一個簡單的滑動門的網(wǎng)頁特效呢?下面簡單分享一下方法,
二、實現(xiàn)滑動門所需技術(shù)
1、簡單的HTML基礎(chǔ)知識
2、簡單的CSS基礎(chǔ)樣式
3、基本的javascript知識
三、如何實現(xiàn)滑動門(重點)
準備好一段HTML代碼
<div id="container"> <img src="images/20190503222903.png"/><!--圖片可以自己修改--> <img src="images/20190503222943.png"/> <img src="images/20190503223003.png"/> <img src="images/20190503223514.png"/> </div>
給當前HTML結(jié)構(gòu)添加樣式
*{
margin: 0;
padding: 0;
background-color: #ccc;
}
p{
text-align: center;
}
#container{
width: 1130px;
height: 350px;
margin: 0 auto;
border-right:1px solid #FF0000;
border-bottom:1px solid #FF0000;
overflow: hidden;
position: relative;
}
#container img{
width:500px;
height:350px;
display: block;
position: absolute;
border-bottm:1px solid #FF0000;
}
最后使用js代碼實現(xiàn)效果
//加載dom樹
window.onload = function(){
//定義盒子
var box=document.getElementById('container');
//定義圖片
var imgs=box.getElementsByTagName('img');
//圖片寬度
var imgWidth = imgs[0].offsetWidth;
//隱藏寬度
var exposeWidth = 210;
//盒子寬度
var boxWidth = imgWidth + (imgs.length -1) * exposeWidth;
box.style.width='px';
//設(shè)置每道門的初始位置
function SetImgsPos(){
for(var i = 1;i<imgs.length;i++){
imgs[i].style.left = imgWidth + exposeWidth*(i -1)+ 'px';
}
}
SetImgsPos();
//計算每道門應(yīng)該移動的距離
var translate = imgWidth - exposeWidth;
//為每道門綁定事件
for(var i=0;i<imgs.length;i++){
//使用立即調(diào)用的函數(shù)表達式,為了獲得不同的i值
(function(i){
imgs[i].onmouseover = function(){
SetImgsPos();
//打開門
for(var j=1;j<=i;j++){
imgs[j].style.left = parseInt(imgs[j].style.left,10) - translate + 'px';
}
}
})(i);
}
}
效果展示

根據(jù)上面的步驟,就可以實現(xiàn)簡單的滑動門效果,快去試試吧?。?!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
《JavaScript高級程序設(shè)計》閱讀筆記(二) ECMAScript中的原始類型
ECMAScript有5種原始類型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof來判斷值的類型2012-02-02

