Body Overflow per JS ändern
68bydesign
- javascript
0 bleicher0 TomD0 Struppi
Liebe Forengemeinde,
ich sitze grade an einem Problem, dass mir Kopfzerbrechen bereitet.
Und zwar soll das overflow-css-attribut des bodys bei einem onclick von hidden auf scroll springen.
<body id="body" style="overflow: hidden">
Ich habe es zu Anfang mit Scriptacelous und dem Morphbefehl versucht, da ich die Library in diesem Projekt sowieso einsetze:
new Effect.Morph('body', {
style: 'overflow: scroll;',
duration: 2
});
was aber nicht funktionierte.
Danach noch diverse getelementbyID und getelementbyTagname Geschichten, aber irgendwie hat alles nich gegriffen. (die zB Hintergrundfarbe lies sich mit den oben genannten Methoden allerdings immer ändern!)
Würde mich über Hilfe freuen!
Grüße,
wa hast du an "rohem" JS versucht?
außerdem - du ruinierst das surfen für leute mit abgeschaltetem JS - nicht vielen aber immer mehr
MFG
bleicher
Grüße,
wa hast du an "rohem" JS versucht?
außerdem - du ruinierst das surfen für leute mit abgeschaltetem JS - nicht vielen aber immer mehr
MFG
bleicher
Hehe, ich weiß, dass sich das erstmal nach usability-Verbrechen anhört, es wird aber in jedem Fall eine Backfall-Version für Leute mit deaktiviertem JS geben. ;]
Folgendes habe ich probiert:
myBody.style.overflow="hidden";
document.getElementsByTagName("body")[i].style.overflow = "hidden";
document.getElementById("body").style.overflow = "hidden";
Grüße,
ohne Gewähr, aber was macht overflow für sinn, wenn die maße nicht angepasst sind?
MFG
bleicher
Hallo,
Hehe, ich weiß, dass sich das erstmal nach usability-Verbrechen anhört, es wird aber in jedem Fall eine Backfall-Version für Leute mit deaktiviertem JS geben. ;]
okay, mich würde daneben auch interessieren, was überhaupt der Zweck dieses Eingriffs ist. Denn mit overflow:hidden verhinderst du auf jeden Fall das Scrollen; Teile des Dokuments werden so unerreichbar.
myBody.style.overflow="hidden";
Korrekt, sofern myBody eine Referenz auf das body-Element ist.
document.getElementsByTagName("body")[i].style.overflow = "hidden";
Korrekt, solange i=0 ist. Da ein Dokument nur *ein* body-Element haben kann, könntest du ebensogut die 0 als Konstante eintragen.
document.getElementById("body").style.overflow = "hidden";
Auch in Ordnung, wenn das body-Element eine ID "body" besitzt.
Was war nun tatsächlich dein Problem?
So long,
Martin
@@Der Martin:
nuqneH
Korrekt, sofern myBody eine Referenz auf das body-Element ist.
[…]
Korrekt, solange i=0 ist. Da ein Dokument nur *ein* body-Element haben kann, könntest du ebensogut die 0 als Konstante eintragen.
[…]
Auch in Ordnung, wenn das body-Element eine ID "body" besitzt.
Mag ja alles korrekt und in Ordnung sein; sinnvoll ist nichts davon.
Mit document.body steht eine Referenz auf das body-Elementobjekt zur Verfügung; es ist sinnfrei, das body-Elementobjekt per getElementById oder getElementsByTagName aus dem DOM rauszusuchen.
Qapla'
Hallo,
Mag ja alles korrekt und in Ordnung sein; sinnvoll ist nichts davon.
sehe ich absolut genauso.
Mit document.body steht eine Referenz auf das body-Elementobjekt zur Verfügung; es ist sinnfrei, das body-Elementobjekt per getElementById oder getElementsByTagName aus dem DOM rauszusuchen.
Ebensowenig, wie ich einen Sinn darin finden kann, mit overflow:hidden das body-Element zu beschneiden und Scrolling zu verhindern.
Ciao,
Martin
Hallo,
Und zwar soll das overflow-css-attribut des bodys bei einem onclick von hidden auf scroll springen.
Dir ist klar, dass sich die overflow-Eigenschaft des body-Elements auf das html-Element überträgt, sofern dieses den Standardwert dieser Eigenschaft besitzt?
Gruß
ich sitze grade an einem Problem, dass mir Kopfzerbrechen bereitet.
Und zwar soll das overflow-css-attribut des bodys bei einem onclick von hidden auf scroll springen.
<body id="body" style="overflow: hidden">
Ich habe es zu Anfang mit Scriptacelous und dem Morphbefehl versucht, da ich die Library in diesem Projekt sowieso einsetze:
new Effect.Morph('body', {
style: 'overflow: scroll;',
duration: 2
});
>
> was aber nicht funktionierte.
Was funktonierte nicht? Der Morph Befehl oder dein Wunsch mit dem scrollbalken?
Wenn gar nichts funktionert, also auch nicht der Morph Befehl, welche Analysen hast du bisher unternommen? Steht etwas in der Fehlerkosnsol?
> Danach noch diverse getelementbyID und getelementbyTagname Geschichten, aber irgendwie hat alles nich gegriffen. (die zB Hintergrundfarbe lies sich mit den oben genannten Methoden allerdings immer ändern!)
Dann hast du etwas falsch gemacht, auch overflow läßt sich ändern. Es würde uns aber helfen, wenn wir wüßten was du gemacht hast, denn ansonsten läßt sich schwer sagen, was du falsch gemacht hast.
Struppi.