Galerienavigation funktioniert nach erneutem aufruf der Galerie nicht

Wenn du dich einfach an Quaeses Lösungsvorschlag hälst (siehe Post #7), funktioniert es auch im IE und Opera:

Code:
function galerie_open()
{
// Falls das overlay-DIV schon existiert
  if(document.getElementById("overlay_x")){
    document.getElementById("overlay_x").style.display = (document.getElementById("overlay_x").style.display=='block')?"none":"block";
  }else{

  var objBody = document.getElementsByTagName("body").item(0);


  // Erzeugt Transparenten Hintergrund
  var objOverlay = document.createElement("div");
  objOverlay.setAttribute('id','overlay_x');
  objOverlay.setAttribute('align','center');
  objBody.appendChild(objOverlay);


  // Erzeugt weißen Hintergrund für das Bild
  var objImageContainer = document.createElement("div");
  objImageContainer.setAttribute('id','image_container_x');
  objOverlay.appendChild(objImageContainer);


  // Erzeugt das Bild
  var objImage = document.createElement("img");
  objImage.setAttribute('id','galerie_image');
  objImage.setAttribute('src','bild1.jpg');
  objImageContainer.appendChild(objImage);


  // Erzeugt absolut positioniertes Div-Element um weitere Elemente über (nicht in) das Bild legen zu können
  var objFrameContainer = document.createElement("div");
  objFrameContainer.setAttribute('id','frame_container_x');
  objFrameContainer.setAttribute('align','center');
  objOverlay.appendChild(objFrameContainer);


  // Erzeugt Div-Element zum verschachteln der Div-Navigations-Elemente
  var objNavFrame = document.createElement("div");
  objNavFrame.setAttribute('id','nav_frame_x');
  objFrameContainer.appendChild(objNavFrame);


  // Erzeugt Div-Element zum verschachteln des PrevLinks
  var objDivPrev = document.createElement("div");
  objDivPrev.setAttribute('id','div_prev_x');
  objNavFrame.appendChild(objDivPrev);


  // Erzeugt Div-Element zum verschachteln des CloseLinks
  var objCloseContainer = document.createElement("div");
  objCloseContainer.setAttribute('id','close_container_x');
  objNavFrame.appendChild(objCloseContainer);


  // Erzeugt Div-Element zum verschachteln des NextLinks
  var objDivNext = document.createElement("div");
  objDivNext.setAttribute('id','div_next_x');
  objNavFrame.appendChild(objDivNext);


  // Erzeugt A-Element um zum vorherigen Bild zu Navigieren
  var objLinkpref = document.createElement("a");
  objLinkpref.setAttribute('id','link_pref');
  objLinkpref.setAttribute('href','javascript:  liste.prev()');
  objLinkpref.onfocus=function() {if (this.blur) this.blur();}
  objDivPrev.appendChild(objLinkpref);


  // Erzeugt A-Element um zum nächsten Bild zu Navigieren
  var objLinknext = document.createElement("a");
  objLinknext.setAttribute('id','link_next');
  objLinknext.setAttribute('href','javascript: liste.next()');
  objLinknext.onfocus=function() {if (this.blur) this.blur();}
  objDivNext.appendChild(objLinknext);


  // Erzeugt A-Element um die Galerie zu schließen
  var objLinkClose = document.createElement("a");
  objLinkClose.setAttribute('id','link_close');
  objLinkClose.setAttribute('href','#');
  objLinkClose.onclick = function() {document.getElementById('overlay_x').style.display='none';}
  objLinkClose.onfocus=function() {if (this.blur) this.blur();}
  objCloseContainer.appendChild(objLinkClose);

  }
}
Übrigens werden in den HTML-Attributen width und height keine Einheiten (wie z.B. px) angegeben.
 
Zurück