2012-04-17 45 views
-1

当我使用Dreamweaver添加图像过渡效果,Dreamweaver将这段代码如JavaScript: -如何使Dreamweaver图像翻转减轻影响?

<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-inease-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

我也在寻找它的答案......有什么办法吗? – 2012-04-17 08:36:11

回答

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