Detlef: Mal wieder dyn. Bilder

Hi,

ich habe mir das Forumsarchiv angesehen, aber zu meinem Problem noch nichts brauchbares gefunden.
Ich möchte auf meiner Startseite ab einer Mindestauflösung (z.B. > 800) größere dynamische Bilderlinks
einfügen als bei kleinerer Auflösung. Dazu benutze ich document.write, um den entsprechenden Link
aufzubauen. Das funktioniert leider erst, nachdem man einmal über die Bilder "gefahren" ist. Am Anfang
entsteht nur ein Textrahmen dort, wo das Bild sein soll.

Ich gebe mal meinen Code dazu und hoffe auf Eure Hilfe.

Zwischen <head> und </head> steht u.a.

var imgNorm=new Array()
var imgHigh=new Array()

function preload(){
  var img
  for (var i=0; i<preload.arguments.length; i++){
      // Normal
      img = new Image();
      img.src  ='images/'+preload.arguments[i]+'1.gif';
      imgNorm[i] = img;
      // Highlighted
      img = new Image();
      img.src  ='images/'+preload.arguments[i]+'2.gif';
      imgHigh[i] = img;
  }
}

function changeImg(imgName,nr,art){
  if (document.images){
     if (art == 1){
        document.images[imgName].src = imgNorm[nr].src;
     }
     else{
        document.images[imgName].src = imgHigh[nr].src;
     }
  }
}

function checkBrowser(){
  if (screen.width >= 800){
     preload('gfs1akt','gfs1sta','gfs1sch','gfs1ehe','gfs1inf');
  }
  else {
     preload('gfs8akt','gfs8sta','gfs8sch','gfs8ehe','gfs8inf');
  }
}

function imgLink(ziel,imgName,w,h){
  z ='<a href="frameset.htm?'+ziel+'" onMouseOut="changeImg(''+imgName+'',1,1)" onMouseOver="changeImg(''+imgName+'',1,2)"><img name="'+imgName+'" border="0" src="/images/'+imgName+'1.gif" width="'+w+'" height="'+h+'"></a>';
  document.writeln(z);
}

und im BODY steht u.a.

<p>
      <script language="JavaScript">
      <!--
       imgLink('standort/standort.htm','gfs1sta','174','109');
       //-->
       </script>
       </p>

Vielen Dank

Detlef

  1. Hi,

    ich habe mir das Forumsarchiv angesehen, aber zu meinem Problem noch nichts brauchbares gefunden.
    Ich möchte auf meiner Startseite ab einer Mindestauflösung (z.B. > 800) größere dynamische Bilderlinks
    einfügen als bei kleinerer Auflösung. Dazu benutze ich document.write, um den entsprechenden Link
    aufzubauen. Das funktioniert leider erst

    Hi,

    folgendes Script baute ich erst vor ein paar Tagen und es funktioniert, wobei es auf unterschiedliche Hoehen der einzelnen Bilder ausgelegt ist. Vorher werden noch Layer dynamisch geschrieben, brauchst Du aber nicht unbedingt.

    1.) Du musst natuerlich noch die <a> integrieren, wenn Du Links darauf setzen willst

    function ausgabe() {
    if (window.screen)
       {
       if (screen.width >= "1024")
        document.writeln("<div id="bild"><img src="image1024/" + this.Name + "" width="" + this.Breit + "" "height="" + this.Hoch + " alt="Emotionbild" border="0"></div>");
        else
        document.writeln("<div id="bild"><img src="image800/" + this.Name + "" width="120" height="120" alt="Emotionbild" border="0"></div>");
       }
    }

    2.)

    function Bilder(Name, Breit, Hoch) {
    this.Name = Name;
    this.Breit = Breit;
    this.Hoch = Hoch;
    this.ausgabe = ausgabe;
    }

    3.)

    var Foto = new Array(4);
    Foto[0] = new Bilder('uns_who.jpg','150','226');
    Foto[1] = new Bilder('aktuelles.jpg','150','85');
    Foto[2] = new Bilder('home.jpg','150','163');
    Foto[3] = new Bilder('impressum.jpg','150','101');

    im body-Bereich

    <SCRIPT language=JavaScript type=text/javascript>ausArea('hom');Foto[2].ausgabe();</SCRIPT>

    Gruesse
    Wilhelm

    1. Hi,

      folgendes Script baute ich erst vor ein paar Tagen und es funktioniert  ...

      ... prächig!!!

      Vielen Dank.
      Manchmal frage ich mich, warum ich noch selber denke :)

      Tschau Detlef