Andreas Kepler: Quelltext an IE und NN anpassen für Bildwechsel

Beitrag lesen

Hallo Forumsmitglieder

Ich habe meine Homepage mit Photoshop gestaltet und wollte sie nun in zwei Frames teilen. Einer soll die Navigation beinhalten, der andere erweiterte Navigationselemente, die beim Aufruf eines bestimmten Buttons geladen werden sollen. Dabei hat mir Photoshop den folgenden Javascript-Quelltext geliefert, der auch soweit ganz gut funktioniert. Da ich aber über zwei Frames hinaus arbeiten will, weiss ich nicht, wie ich den Quelltext anpassen muss.

<script type="text/javascript">
<!--

userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
function newImage(arg) {
  if (document.images) {
    rslt = new Image();
    rslt.src = arg;
    return rslt;
  }
}

function findElement(n,ly) {
  if (browserVers < 4)  return document[n];
  var curDoc = ly ? ly.document : document;
  var elem = curDoc[n];
  if (!elem) {
    for (var i=0;i<curDoc.layers.length;i++) {
      elem = findElement(n,curDoc.layers[i]);
      if (elem) return elem;
    }
  }
  return elem;
}

function changeImages() {
  if (document.images && (preloadFlag == true)) {
    var img;
    for (var i=0; i<changeImages.arguments.length; i+=2) {
      img = null;
      if (document.layers) {
        img = findElement(changeImages.arguments[i],0);
      }
      else {
        img = document.images[changeImages.arguments[i]];
      }
      if (img) {
        img.src = changeImages.arguments[i+1];
      }
    }
  }
}

var preloadFlag = false;
function preloadImages() {
  if (document.images) {
    bild_9_click = newImage("images/bild_9_click.jpg");
    bild_9_click011 = newImage("images/bild_9_click-11.jpg");
    bild_9_click012 = newImage("images/bild_9_click-12.jpg");
    bild_11_click = newImage("images/bild_11_click.jpg");
    bild_11_click016 = newImage("images/bild_11_click-16.jpg");
    bild_11_click017 = newImage("images/bild_11_click-17.jpg");
    bild_13_click = newImage("images/bild_13_click.jpg");
    bild_13_click021 = newImage("images/bild_13_click-21.jpg");
    bild_17_click = newImage("images/bild_17_click.jpg");
    bild_17_click027 = newImage("images/bild_17_click-27.jpg");
    bild_17_click028 = newImage("images/bild_17_click-28.jpg");
    bild_20_over = newImage("images/bild_20_over.jpg");
    bild_20_over033 = newImage("images/bild_20_over-33.jpg");
    bild_23_click = newImage("images/bild_23_click.jpg");
    bild_23_click038 = newImage("images/bild_23_click-38.jpg");
    bild_23_click039 = newImage("images/bild_23_click-39.jpg");
    bild_25_click = newImage("images/bild_25_click.jpg");
    bild_25_click043 = newImage("images/bild_25_click-43.jpg");
    bild_25_click044 = newImage("images/bild_25_click-44.jpg");
    bild_27_click = newImage("images/bild_27_click.jpg");
    bild_27_click048 = newImage("images/bild_27_click-48.jpg");
    bild_36_over = newImage("images/bild_36_over.jpg");
    bild_38_over = newImage("images/bild_38_over.jpg");
    bild_40_over = newImage("images/bild_40_over.jpg");
    bild_42_over = newImage("images/bild_42_over.jpg");
    bild_44_over = newImage("images/bild_44_over.jpg");
    bild_46_over = newImage("images/bild_46_over.jpg");
    preloadFlag = true;
  }
}

// -->
</script>

Der Aufruf des Scripts erfolgt auf folgende Art (Beispiel):

<div id="bild-38">
  <a href="#" onmouseover="changeImages('bild_38', 'images/bild_38_over.jpg'); return true;"
              onmouseout="changeImages('bild_38', 'images/bild_38.jpg'); return true;"
              onclick="changeImages('bild_9', 'images/bild_9_click-11.jpg', 'bild_11', 'images/bild_11_click-16.jpg', 'bild_13', 'images/bild_13_click.jpg', 'bild_17', 'images/bild_17_click-27.jpg', 'bild_23', 'images/bild_23_click-38.jpg', 'bild_25', 'images/bild_25_click-43.jpg', 'bild_27', 'images/bild_27_click.jpg');">
  <img name="bild_38" src="images/bild_38.jpg" width="140" height="16" border="0" alt="" /></a>
</div>

Also ich will nun, dass der Aufruf wie hier im Navigations-Frame steht und die Bilder im Kopf-Frame ausgetauscht werden. Bei meinen Versuchen wollte jedesmal NN nicht mehr mitmachen. Vielleicht weiss jemand hier, wie man diesen Aufruf umschreiben kann, damit sowohl IE als auch NN das korrekt interpretieren können.

Vielen Dank für eure Hilfe

Gruss Andreas Kepler