Rollover im andern frame steuern
manuel
- javascript
ich will über n MouseOver in nem anderen Frame ein Bild steuern (rollover effekt)
Wenn ich mit der Maus über einen Link im Frame "unten" gehe, soll ein Bild im Frame "oben" geändert werden...
Die Funktion dafür ist (wenns im gleichen Frame ist):
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','images/db.jpg',1)">
das javascript im head tag lautet:
<script language="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.0
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 && document.getElementById) x=document.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>
in dieser variante funktioniert es allerdings nur wenn das bild im selben frame ist wie der link.
in nem anderen forum meinte man als link
parent.oben.funktionsaufruf
das wäre ja dann <a href="#" onmouseover="parent.oben.MM_swapImage('Image1','','images/db.jpg',1)" onmouseout="...">
so funktioniert es aber leider nicht :(
was mache ich falsch, und wie funktioniert das richtig??
danke!!
in dieser variante funktioniert es allerdings nur wenn das bild im selben frame ist wie der link.
Diese Variante ändert ein bild, wenn du mit der Maus drüber fährst, egal in welchem Frame.
deine wirkliche Frage lautet:
wie kann ich von einem Frame ein anederes Frame ansprechen?
Und diese Frage hab ich grade eben in einem thread obendrüber beantwortet.
Struppi.