Strona 1 z 1

image map MM_SwapImage()

PostNapisane: 15 lipca 2004, o 09:53
przez Driller
Witam!

Po raz pierwszy pisze coś na forum, ale mniejsza o to.

Problem polega na tym, iż konstruuje (za pomocą pająka oczywiście) mapę odsyłaczy na grafice. Ponieważ mam kilka obszarów na jednej grafice, chciałbym aby po najechaniu na dany obszar podmieniał się kolor, czy też wygląd tylko danego obszaru a nie całej grafiki.
Wykorzystałem następujacy skrypt:

<script language="JavaScript" 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>

a później w sekcji <body>

<map name="szeregowce">
<img name="szeregowce" src="test_black.gif" usemap="#szeregowce" border="0" width="750" height="723" alt="" />
<area shape="poly" coords="205,28,428,110,392,206,156,119,184,42,205,28" onmouseout="MM_swapImgRestore();" onmouseover="MM_swapImage('szeregowce','','test_color.gif',1);" href="#l" target="new window"/>
</map>

No i problem w tym że podmienia się cały obrazek a nie tylko obszar wyznaczony przez coords.

Z góry dziękuje za odpowiedzi,

Pozdrawiam,

Driller

Re: image map MM_SwapImage()

PostNapisane: 15 lipca 2004, o 11:39
przez lockoom

PostNapisane: 15 lipca 2004, o 14:02
przez Driller

PostNapisane: 15 lipca 2004, o 20:49
przez lockoom

PostNapisane: 15 lipca 2004, o 23:14
przez Driller

PostNapisane: 15 lipca 2004, o 23:50
przez LEMUR

PostNapisane: 15 lipca 2004, o 23:56
przez sian

PostNapisane: 16 lipca 2004, o 00:08
przez LEMUR

PostNapisane: 16 lipca 2004, o 12:12
przez Driller

PostNapisane: 16 lipca 2004, o 21:17
przez Wydra707

PostNapisane: 16 lipca 2004, o 22:51
przez Driller