如何使Dreamweaver图像翻转的缓动效果?

时间:2012-04-17 07:38:01

标签: javascript jquery css dreamweaver rollover-effect

当我使用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>​

1 个答案:

答案 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