Switch to full style
Forum dyskusyjne poświęcone zagadnieniom związanym z językami JavaScript, VBScript i podobnym
Odpowiedz

image map MM_SwapImage()

15 lipca 2004, o 09:53

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()

15 lipca 2004, o 11:39

15 lipca 2004, o 14:02

15 lipca 2004, o 20:49

15 lipca 2004, o 23:14

15 lipca 2004, o 23:50

15 lipca 2004, o 23:56

16 lipca 2004, o 00:08

16 lipca 2004, o 12:12

16 lipca 2004, o 21:17

16 lipca 2004, o 22:51

Odpowiedz