当我使用Dreamweaver添加图像翻转效果时,Dreamweaver将这段代码添加为javascript: -
<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
这在它的身体onload
中: -
<body onload="MM_preloadImages('aim-hover.png')">
这适用于图像翻转: -
<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','aim-hover.png',1)"><img src="aim.png" name="Image1" width="30" height="30" border="0" id="Image1" /></a>
执行此操作会产生翻转效果,可在图像之间切换。
现在我的问题是: - 如何为这些图片添加ease-in
ease-out
效果?
可能是通过jquery或纯Javascript ......
在CSS中,我们为ease
div {
position:relative;
width:240px;
height:100px;
background-color:red;
-o-transition:background-color 200ms ease-in-out;
-moz-transition:background-color 200ms ease-in-out;
-webkit-transition:background-color 200ms ease-in-out;
transition:background-color 200ms ease-in-out;
}
div:hover {
background-color:blue;
}
<div></div>
答案 0 :(得分:0)
您在寻找专门的(跨平台)Javascript解决方案吗?
如果没有,您可以在纯CSS3中轻松完成。虽然IE对transitions
不感兴趣。 D:
您可以尝试设置CSS:
div.roller { width: 50px; height: 50px; border: solid 1px green;}
div.roller div { -webkit-transition: all 1s ease-in-out; width: 50px; height: 50px; }
div.off, div.roller:hover div.over { opacity: 1.0; }
div.roller:hover div.off, div.over { opacity: 0; }
.off { background-color: red; position: absolute;}
.over { background-color: yellow; }
为transitions
添加浏览器特定的前缀,为方便起见,我使用了-webkit-
。
您可以将图片设置为.off
和.over
div的背景,将其嵌入其中,甚至使用img
标记代替div
标记。
确保将具有初始状态.off
的元素设置为position: absolute
,使其叠加在向下状态.over
之上。
和html一样:
<div class="roller" >
<div class="off">off</div>
<div class="over">over</div>
</div>
摆弄它here。