实现图片由左向右飞入回到最初设定位置 ,鼠标浮上去旋转显示另一张图片效果;
html:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html"; charset="utf-8" /> <title>图片翻转CSS3</title> </head> <body> <div class="page"> <ul id="box"> <li> <div class="div1"> <img src="Images/m.png" alt=""/></div> </li> <li> <span></span><div class="div2"> <img src="Images/w.png" alt=""/></div> </li> <li> <span></span><div class="div3"> <img src="Images/k.png" alt=""/></div> </li> <li> <span></span><div class="div4"> <img src="Images/t.png" alt=""/></div> </li> </ul> </div> </body> </html>
2. css部分:
@-webkit-keyframes "mixovMove" { 0% { -webkit-animation-timing-function:ease; left:-300px; -webkit-transform:rotateY(0deg) scale(0); opacity:0; } 50% { left:700px; -webkit-transform:rotateY(0deg) scale(0.4); opacity:1; } 100% { -webkit-transform:rotateY(360deg) scale(1); } } html { height:100%; margin:0 auto; position:relative; } body { background:url(Images/miaov.jpg) no-repeat center 0; margin:0 auto; overflow:hidden; padding-top:128px; } ul { margin:0; padding:0; } li { list-style:none; } .page { height:615px; background:url(Images/1-bg.png) no-repeat;position:relative;overflow:hidden; -webkit-transform-style:preserve-3d;-webkit-perspective:100; margin:0 auto; width:1024px; /*子元素获得透视效果perspective 属性只影响 3D 转换元素。*/ } #box { width:760px; height:170px; position:absolute; top:150px; left:132px; } li { float:left; margin:0 10px; width:170px; height:170px; position:relative; } #box div { width:170px; height:170px; -webkit-transform:translateZ(-100px) rotateY(0deg); -webkit-transition:300ms -webkit-transform linear; } #box span { position:absolute; left:0; top:0; width:170px; height:170px; } #box img { display:none; -webkit-transform:rotateY(180deg); } .div1 { background:url(Images/c.png) no-repeat; } .div2 { background:url(Images/s-1.png) no-repeat; } .div3 { background:url(Images/s-2.png) no-repeat; } .div4 { background:url(Images/3.png) no-repeat; }
3.js部分:
<script> window.onload = function () { var oBox = document.getElementById("box"); var aLi = oBox.getElementsByTagName("li"); var aImg = oBox.getElementsByTagName("img"); var aDiv = oBox.getElementsByTagName("div"); for (var i = 0; i < aLi.length; i++) { aLi[i].left = aLi[i].offsetLeft; aLi[i].style.left = "-200px"; aLi[i].style.top = "0"; aLi[i].index = i; aLi[i].oTimer = null; aLi[i].style["WebkitTransform"] = "rotateY(0deg) scale(0)"; } for (var i = 0; i < aLi.length; i++) { aLi[i].style.position = "absolute"; move(aLi[i], 300 * i); aLi[i].onmouseover = function () { var oBj = this; // debugger; clearTimeout(oBj.oTimer); oBj.oTimer = setTimeout(function () { aImg[oBj.index].style.display = "block"; aDiv[oBj.index].style["WebkitTransform"] = "rotateY(180deg)"; //后执行 }, 290); aDiv[oBj.index].style["WebkitTransform"] = "rotateY(90deg)"; //先执行 }; aLi[i].onmouseout = function () { var oBj = this; clearTimeout(oBj.oTimer); oBj.oTimer = setTimeout(function () { aImg[oBj.index].style.display = "none"; aDiv[oBj.index].style["WebkitTransform"] = "rotateY(0deg)"; }, 295); aDiv[oBj.index].style["WebkitTransform"] = "rotateY(90deg)"; } } }; function move(obj, iTime) { var oTimer = null; oTimer = setTimeout(function () { obj.style.left = obj.left + "px"; obj.style["WebkitTransform"] = "rotateY(0deg) scale(1)"; obj.style["WebkitAnimationName"] = "mixovMove"; obj.style["WebkitAnimationDuration"] = "2s"; },iTime) } </script>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110093.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...