Hallo,
so, mein Scrollproblem habe ich soweit gelöst, war zwar etwas fieslig, aber nun klappt es :-)
Jetzt stehe ich vor dem weiteren Problem, die Innenhöhe des Browsfensters, die Höhe meines Anzeige-divs und die Höhe des im eben genannten div angezeigten Inhalt ermitteln zu müssen.
Das Auslesen der Innenhöhe des Browserfensters und der Höhe des Anzeige-divs sollte funktionieren, da ich hier intensiv gegoogelt habe.
Allerdings bekomme ich in der markierten Zeile die Fehlermeldung "Fehler: Element is undefined".
Hier der Javascript-Code:
var isCSS, isW3C, isIE4, isNN4, isIE6CSS;
var Browser__Innenhoehe, div__Hoehe, div__Seitenlaenge;
var Inhalt__Anzeige, Lampe;
function Initialisieren ()
{
if (document.images)
{
CSS = (document.body && document.body.style) ? true : false;
W3C = (isCSS && document.getElementById) ? true : false;
IE4 = (isCSS && document.all) ? true : false;
NN4 = (document.layers) ? true : false;
IE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
}
Inhalt__Anzeige = Objektekt_referenzieren ("Inhalt__Anzeige");
Lampe = Objektekt_referenzieren ("Lampe");
Browser__Innenhoehe = Innenhoehe_Browser_ermitteln ();
div__Hoehe = Browser__Innenhoehe - 106;
div__Seitenlaenge = Hoehe_ermitteln ("Inhalt__Anzeige");
}
function Objektekt_referenzieren (Objekt)
{
var Referenz;
if (typeof Objekt == "string")
{
if (W3C)
{
Referenz = document.getElementById (Objekt);
}
else
if (IE4)
{
Referenz = document.all (Objekt);
}
else
if (NN4)
{
Referenz = Layer_referenzieren (document, Objekt);
}
}
else
{
Referenz = Objekt;
}
return Referenz;
}
function Layer_referenzieren (Dokument, Bezeichnung)
{
var Objekt;
for (var i = 0; i < Dokument.layers.length; i++)
{
if (Dokument.layers[i].name == Bezeichnung)
{
Objekt = Dokument.layers[i];
break;
}
if (Dokument.layers[i].document.layers.length > 0)
{
Objekt = Layer_referenzieren (document.layers[i].document, Bezeichnung);
}
}
return Objekt;
}
function Innenhoehe_Browser_ermitteln ()
{
if (typeof (window.innerWidth ) == 'number')
{ // Non-IE
Browser__Innenhoehe = window.innerHeight;
}
else
if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
{ // IE 6+ in 'standards compliant mode'
Browser__Innenhoehe = document.documentElement.clientHeight;
}
else
if (document.body && (document.body.clientWidth || document.body.clientHeight))
{ // IE 4 compatible
Browser__Innenhoehe = document.body.clientHeight;
}
return parseInt (Browser_Innenhoehe);
}
function Hoehe_ermitteln (Objekt)
{
var Element = Objektekt_referenzieren (Objekt);
var Hoehe = 0;
====> if (Element.offsetHeight) <====
{
Hoehe = Element.offsetHeight;
}
else
if (Element.clip && Element.clip.height)
{
Hoehe = Element.clip.height;
}
else
if (Element.style && Element.style.pixelHeight)
{
Hoehe = Element.style.pixelHeight;
}
return parseInt (Hoehe);
}
Der hier aufgeführte Code ist Teil einer Script-Datei, die ich in den head integriert habe, die Funktion "Initialisieren" wird unmittelbar vor dem schließenden body-Tag aufgerufen, d.h. sämtliche id's wurden vorher bereits abgearbeitet/angezeigt, auch können etwaige Schreibfehler im Bezeichner ausgeschlossen werden.
Was stimmt am Code nicht?
Danke für eure Hilfe.
Gruß
Enrico