68bydesign: Body Overflow per JS ändern

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!

  1. 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

    --
    __________________________-

    FirefoxMyth
    1. 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";

      1. Grüße,
        ohne Gewähr, aber was macht overflow für sinn, wenn die maße nicht angepasst sind?
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
      2. 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

        --
        Die letzten Worte des Hardware-Bastlers:
        Das Netzkabel lass ich wegen der Erdung lieber dran.
        1. @@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'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. 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

            --
            Lieber eine Stumme im Bett, als eine Taube auf dem Dach.
  2. 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ß

  3. 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.