Janine: Skript vereinfachen

Hallo,

ich bin ein absoluter Beginner, was JS betrifft und gerade dabei mich in die Materie einzuarbeiten. Nun habe ich mir ein kleines JS-Skript geschrieben, das die Inhalte 2er unterschiedl. iFrames zu einer Hauptseite bei einer bestimmten Aktion ändert.

Es wird hier abgefragt, ob ein bestimmter iFrame geladen ist und, wenn ja soll dann die Änderung erfolgen, z.B.:

var menu1 = "seite1.html";
var menu2 = "seite2.html"; u.s.w.

if (parent.frames.Main.location.href.toLowerCase().indexOf(menu1 + suf1)!=-1)
parent.frames.Main.location.href=path1 + menu1 + suf2;
if (parent.frames.Main.location.href.toLowerCase().indexOf(menu2 + suf1)!=-1)
parent.frames.Main.location.href=path1 + menu2 + suf2;
[...]

Wie kann man das Skript nun vereinfachen. Im Prinzip ändert sich ja nur der Name (src) des iFrames und der Rest bleibt.

Gruss Janine

  1. Hi,

    Wie kann man das Skript nun vereinfachen.

    über eine Funktion.

    Im Prinzip ändert sich ja nur der Name (src) des iFrames und der Rest bleibt.

    Dann ist der Name Dein Funktionsparameter.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Mahlzeit!

    Das ganze könntest du mit Hilfe einer Array und einer for- Schleife vereinfachen.

    Hier mal ein Beispiel als Anregung:

    <script type="text/javascript">
    <!--
    var liste = new Array("seite1.html","seite2.html");

    var frameHref = parent.frames['Main'].location.href;

    for(var i = 0; i < liste.length; i++){
     if(frameHref.toLowerCase().indexOf(liste[i] + suf1)!=-1){
      frameHref = path1 + liste[i] + suf2;
     }
    }
    //-->
    </script>

    Habe das ganze jetzt nicht getestet, da mir die Seite mit den Frames fehlt :)

    MfG
    Dr. Ma-Busen