einblenden eines divs

sadi

Mitglied
Hallo Leute,
ich habe ein Problem, was sich ausschließlich im Internet Explorer 6.0 und wahrscheinlich auch abwärts bemerkbar macht. Das Design meiner Webseite ist so aufgebaut, dass die größe der Navigationsdivs und des Divs für den Hauptbereich an die jeweilige Fenstergröße angepasst wird. Beim ändern der Fensterhröße (onResize) durch den Benutzer wird die Seite neu geladen, um die Divs wieder anzupassen. Das Javascript basiert auf dem von SelfHTML. Alles funktioniert auch wunderbar. Nun habe ich auf meiner Startseite ein paar Newsüberschriften untergebracht. Der komplette Newstext ist in einem einzelnen Div untergebracht, welcher zunächst ausgeblendet ist und erst beim Aufruf eingeblendet wird. In sämtlichen Browsern funktioniert es wunderbar (selbst IE7). Der IE6 hat allerdings die Angewohnheit das Öffnen dieses Divs als Änderung der Fenstergröße zu interpretieren und die Seite neuzuladen. Dies hat den Effekt, dass das Div geöffnet und gleich wieder geschlossen wird, da ja als Standardeinstellung im CSS das Newsdiv als versteckt definiert ist.

Ihr könnt euch ja den Effekt mal bei http://www.sascha-dietrich.com/privat anschauen. Klickt den Link "Bilder vom Biofasching an"

Gibt es eine Möglichkeit, wie man in diesem speziellen Fall das Neuladen im IE6 verhindern kann?

Gruß

Sascha
 
Moin....

zuhause bekomme ich das irgendwie nicht nachgestellt:confused:.... da geht alles.

Ich würde fast vermuten wollen, dass das Neuladen nicht durch diese Funktion verursacht wird, ...um dies zu prüfen, tu mal einen alert() an den Anfang von neuAufbau()
 
Hi,

bei mir dagegen tritt das gleiche Problem auf, wie von dir beschrieben. Zur Lösung könntest du zu
Beginn der Funktion einblenden die Resizeroutine entfernen. Am Ende weist du sie zeitverzögert
wieder zu.
Code:
//Funktion um eine DIV anzuzeigen und auszublenden
function einblenden (divid) {
  if (document.getElementById) {
    window.onresize = null;
    document.getElementById(divid).style.visibility = "visible";
    window.setTimeout('window.onresize = neuAufbau', 500);
  }
}
Ciao
Quaese
 
Vielen Dank für die Hilfe. Leider hat das null-setzen keine Wirkung gehabt. Ich habe mir aber überlegt vielleicht eine Abfrage bei dem Aufruf der Funktion neuAufbau (wo das Fenster neu geladen wird) einzubauen. Diese müsste dann so aussehen, dass abgefragt wird, ob eine gewisse Funktion, hier die einblenden-Funktion, aufgerufen wurde. Ist dies in irgendeiner Form möglich mit Javascript?

Gruß

Sascha
 
Zurück