Hans: Was ich schon immer mal von Macromedia wissen wollte

Hallo,

Es gibt doch auf jeder mit Macromedia (oder fast jeder) erstellten Seite diese drei Javascriptfunktionen, die dem Vorladen und Austauschen der Bilder dienen:

<!--
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_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_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];}
}
//-->

Dabei werden die folgendermaßen aufgerufen:
<a href="#" onMouseOver="MM_swapImage('Image6','','MAIN/MENU/button-kontakt-hv.jpg',1)" onMouseOut="MM_swapImgRestore()">Link</a>

Wenn ich ehrlich bin, kann ich den Sinn dieser Funktionen nicht erkennen, weil nirgendwo ein Verweis mit image() oder Ähnliches auftaucht, das dem Laden dienlich sein könnte....

Könnte mir mal jemand den Sinn und Zweck dieser "merkwürdigen" Schleifen erläutern, die zwar geegenseitig aufeinander verweisen, aber für mich keine _erkennbare_ Wirkung haben?

Danke schonmal!
Hans

  1. habe d'ehre Hans

    Es gibt doch auf jeder mit Macromedia (oder fast jeder) erstellten Seite diese drei Javascriptfunktionen, die dem Vorladen und Austauschen der Bilder dienen:

    weil nirgendwo ein Verweis mit image() oder Ähnliches auftaucht, das dem Laden dienlich sein könnte....

    Könnte mir mal jemand den Sinn und Zweck dieser "merkwürdigen" Schleifen erläutern, die zwar geegenseitig aufeinander verweisen, aber für mich keine _erkennbare_ Wirkung haben?

    Soweit ich mich entsinne, werden die Imagenamen bei <body onload...> festgelegt.

    man liest sich
    Wilhelm

  2. Hi,

    ... weil nirgendwo ein Verweis mit image() ...

    d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];

    reicht dir das nicht?

    E7