Dreamweaver, 網頁設計

[DW]滑鼠滑過(變換/切換)影像-修正版

梅干2009/01/15
  先前曾分享過利用Dreamweaver內建的圖片切換功能,作了一點的小修正,讓它不只滑過會變色,甚至還可以按下後變色,但問題來了,若今天設定連結時,則會發現圖片不體變換的問題,經修正後範例如下。

放在<head>....</head>之間:
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];}
}
var nowMenu = {"id": null, "name": null, "img": null};
function showIt(pic,opic,id,name){
var div = document.getElementById(id);
if(nowMenu.id != null && nowMenu.id != id){
document.getElementById(nowMenu["id"]).innerHTML ="<img src="+nowMenu["img"]+" border=0 id="+nowMenu["name"]+">";
}
nowMenu["id"] = id;
nowMenu["name"] = name;
nowMenu["img"] = "img/" + opic;
div.innerHTML ="<img src=img/"+pic+" border=0 id="+name+">";
//document.getElementById(name).src = "img/"+pic;
document.getElementById("ifm").src = document.getElementById(nowMenu["id"]).href;

return false;
}

放在<body>....</body>之間:
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(’Image1′,”,’img/homeOverbt.gif’,1)" onClick="showIt(’homeOnbt.gif’,'homeOffbt.gif’,'img1′,’Image1′);" id="img1"><img src="img/homeOffbt.gif" name="Image1" width="69" height="34" border="0" id="Image1" /></a>
<a href="http://tw.yahoo.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(’Image2′,”,’img/toolsOverbt.gif’,1)" onClick="showIt(’toolsOnbt.gif’,'toolsOffbt.gif’,'img2′,’Image2′);" id="img2"><img src="img/toolsOffbt.gif" name="Image2" width="69" height="34" border="0" id="Image2" /></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(’Image3′,”,’img/linksOverbt.gif’,1)" onClick="showIt(’linksOnbt.gif’,'linksOffbt.gif’,'img3′,’Image3′);" id="img3"><img src="img/linksOffbt.gif" name="Image3" width="69" height="34" border="0" id="Image3" /></a>
<iframe src="" name="ifm" id="ifm" width="300" height="300"></iframe>

[範例預覽] [範例下載]
UAG軍規iPhone防摔殼