本文实例为大家分享了JavaScript实现滑动门效果的具体代码,供大家参考,具体内容如下
一、什么是滑动门
首先你要了解什么是滑动门。
生活中我们经常看到一些网站或是商城有一些滑动门的效果
那么怎么实现一个简单的滑动门的网页特效呢?下面简单分享一下方法,
二、实现滑动门所需技术
1、简单的HTML基础知识
2、简单的CSS基础样式
3、基本的javascript知识
三、如何实现滑动门(重点)
准备好一段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结构添加样式
*{
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代码实现效果
//加载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';
//设置每道门的初始位置
function SetImgsPos(){
for(var i = 1;i<imgs.length;i++){
imgs[i].style.left = imgWidth + exposeWidth*(i -1)+ 'px';
}
}
SetImgsPos();
//计算每道门应该移动的距离
var translate = imgWidth - exposeWidth;
//为每道门绑定事件
for(var i=0;i<imgs.length;i++){
//使用立即调用的函数表达式,为了获得不同的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);
}
}
效果展示
根据上面的步骤,就可以实现简单的滑动门效果,快去试试吧!!!