
上一篇當中,分享了利用Dreamweaver滑入滑出功能,再搭配jQuery的png透明元件後,就可作到讓滑鼠滑入時,也可使用透明的png檔,但在[網頁教學-讓DW的滑入滑出也可使用透明png檔]範例中,有些朋友則遇到當使用二個以上的滑入滑,以及背景的部分,就會出現失效而無法使用,因此今天趁空檔時間,與男丁討論了一下,終於解決了此問題,目前該範例除了支援滑入滑出外,也可在背景中使用透明的png檔,其作法如下。ps.另外要特別感謝,住在內湖孫總所提供的png透明按鈕供教學使用。
放在<head>…..</head>之間:
<script src=“jquery-1.2.6.js”></script>
<script src=“jquery.ifixpng.js”></script>
<script type=“text/javascript”>
<!–
//Dreamweaver產生
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;
}
//手動修改與加入部分—Str
function MM_swapImgRestore2() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++){
x.src=arguments[0];
$(‘img’).ifixpng();
};
}
function MM_swapImage2() { //v3.0
var i,j=0,x,a=MM_swapImage2.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];$(‘img’).ifixpng();
}
}
$(function(){
$(”*“).ifixpng();
});
//手動修改與加入部分—end
//–>
</script>
放在<body>…..</body>之間:
<body onLoad=“MM_preloadImages(‘images/mu_about_over.png’,‘images/mu_service_over.png’,‘images/mu_qa_over.png’)”>
<div style=“float:left;”>
<a href=“#” onMouseOut=“MM_swapImgRestore2(‘images/mu_about.png’)” onMouseOver=“MM_swapImage2(‘Image1’,“,‘images/mu_about_over.png’,1)”>
<img src=“images/mu_about.png” name=“Image1” width=“122” height=“53” border=“0”></a></div>
<div style=“float:left;”>
<a href=“#” onMouseOut=“MM_swapImgRestore2(‘images/mu_service.png’)” onMouseOver=“MM_swapImage2(‘Image2’,“,‘images/mu_service_over.png’,1)”>
<img src=“images/mu_service.png” name=“Image2” width=“111” height=“53” border=“0”></a></div>
<div style=“float:left;”>
<a href=“#” onMouseOut=“MM_swapImgRestore2(‘images/mu_qa.png’)” onMouseOver=“MM_swapImage2(‘Image3’,“,‘images/mu_qa_over.png’,1)”>
<img src=“images/mu_qa.png” name=“Image3” width=“122” height=“53” border=“0”></a></div>
<hr style=“clear:both;”>
<!–png放到Div當背景–>
<div style=“background:url(images/img.png); width:264px; height:420px;clear:both;”></div>
<hr />
<!–png放到table當背景–>
<table width=“264” border=“0” cellspacing=“0” cellpadding=“0”>
<tr>
<td height=“420” background=“images/img.png”> </td>
</tr>
</table>
需在MM_swapImgRestore2()中自行再加入img本來的影像,
如:<img src=”abc.jpg”那MM_swapImgRestore2(‘abc.jpg’)才可以,另外,背景的部分,直接使用即可。
[範例預覽] [範例下載]