|
效果图:::当鼠标划过的时候图片自动打开和折叠
![]()
代码:: html代码::命名为:index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>sliding doors</title> <link rel="stylesheet" href="css/reset.css" /> <link rel="stylesheet" href="css/slidingdoors.css" /> <script src="js/slidingdoors.js"></script> </head> <body> <div id="container"> <img src="img/door1.png" alt="1080P神器" title="1080P神器"/> <img src="img/door2.png" alt="1080P神器" title="1080P神器"/> <img src="img/door3.png" alt="1080P神器" title="1080P神器"/> <img src="img/door4.png" alt="1080P神器" title="1080P神器"/> </div> </body> </html>
css代码:: 命名为:slidingdoors.css代码如下:
#container{ height: 477px; margin:0 auto; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; overflow: hidden;//溢出容器不显示 position:relative; } #container img{ position: absolute; display: block; left: 0; border-left: 1px solid #ccc; }
js文件命名为:slidingdoors.js
代码如下:::
window.onload = function(){ //容器对象 var box = document.getElementById('container'); //获得图像集合 var imgs = box.getElementsByTagName('img'); //单张图片的宽度 var imgWidth = imgs[0].offsetWidth; //设置隐藏门体露出的宽度 var exposeWidth = 160; //设置容器宽度 var boxWidth = imgWidth + (imgs.length - 1)*exposeWidth; box.style.width = boxWidth + 'px'; function setImgsPos(){ for(var i =1,len = imgs.length;i<len;i++) { imgs[i].style.left = imgWidth+exposeWidth*(i-1)+'px'; } } setImgsPos(); var translate = imgWidth-exposeWidth; for(var i = 0,len = imgs.length;i<len;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); } }; |