Camping_RIDER: Individuelle Scroll-Leiste oder designverträgliche Alternative?

Beitrag lesen

Aloha ;)

Tja, also wenn mir jetzt noch jemand verrät, wie ich es hinbekomme, dass die scrollTop-Funktion bei gedrückt gehaltener Maustaste automatisch wiederholt wird, bis man loslässt oder das Ende erreicht ist, damit man nicht sooft clicken muss, dann bin ich mit der Lösung zufrieden.

Für soviel Lob mach ich das doch glatt. Was mir da vorschwebt:
Du definierst dir zunächst in Javascript zwei Funktionen, z.B. ScrollUp(step) und ScrollDown(step). Wenn du die Funktionalität mehr als einmal brauchst solltest du neben step noch einen Parameter elm haben, dem du das zu scrollende Element mitgeben kannst. Außerdem brauchst du eine Variable scrolling = false; Statt onclick der Buttons abzufangen, reagierst du jetzt auf onmousedown, onmouseout und onmouseup.

Exemplarisch für den nach-unten-scrollbutton:

\\ gedrückte Maus auf Button beginnt scrollen  
document.getElementById('nach-unten').onmousedown = function () {  
    \\ sichergehen, dass altes scrollen beendet  
    if (scrolling) window.clearInterval(scrolling);  
    scrolling = false;  
  
    \\ jede Viertelsekunde um 5px nach unten  
    scrolling = window.setInterval(function(){ScrollDown(5);},250);  
}  
  
\\ bei onmouseup soll das scrollen aufhören  
document.getElementById('nach-unten').onmouseup = function() {  
    if (scrolling) window.clearInterval(scrolling);  
    scrolling = false;  
}  
  
\\ und falls der Anwender mit gedrückter Maus den Button verlässt: auch beenden  
document.getElementById('nach-unten').onmouseout = document.getElementById('nach-unten').onmouseup;  

Voila ;) Die Werte von Zeit und step für Intervall solltest du vorsichtig einstellen. Zu schnell ist dabei schlechter als zu langsam. Wers schneller will, kann immer noch nativ scrollen.

Den Code habe ich nicht getestet, Syntaxfehler oder andere Kleinigkeiten sind also nicht ausgeschlossen.

In dem Fall bin ich übrigens deiner Meinung. Die Buttons machen die Scroll-Funktionalität sichtbar umd natives Scrollen funktioniert auch. Würde sagen das ist legitim. Tatsächlich gibt es sowohl bei FileUpload-Button als auch bei den Scrolleisten keinen sinnvollen Grund, warum man sie nicht modifizieren kann. Das gehört imho längst standardisiert. Auch wenn ich dem Rest recht gebe, das muss mit Bedacht geschehen.

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
0 48

Menü-Box mit individuellen Scroll-Buttons - Ideen?

Roadster
  • css
  1. 0
    Matthias Apsel
    1. 0
      Roadster
      1. 0
        Auge
        1. 0
          Roadster
        2. 1
          Camping_RIDER
      2. 0
        ChrisB
        1. 0
          Camping_RIDER
          1. 0
            Roadster
  2. 0

    Grundsätzliches zur Steuerung des Scrollens von Inhalten

    Roadster
    1. 0
      Matthias Apsel
      1. 0
        Roadster
  3. 2
    ChrisB
    • meinung
    1. 0
      Roadster
      1. 0
        JürgenB
        1. 0
          Roadster
          1. 0
            JürgenB
            1. 0
              Roadster
              1. 1
                Gunnar Bittersmann
  4. 0

    Individuelle Scroll-Leiste oder designverträgliche Alternative?

    Roadster
    • design/layout
    1. 2
      Klawischnigg
      1. 0
        Roadster
        1. 0
          Klawischnigg
          1. 0
            Der Martin
            1. 0
              Gunnar Bittersmann
      2. 2
        Gunnar Bittersmann
        1. 0
          Klawischnigg
          1. 0
            Gunnar Bittersmann
      3. 0
        Stefanie M.
    2. 0
      Auge
      1. 0
        Gunnar Bittersmann
        1. 0
          Auge
          1. 0
            Der Martin
            1. 0
              Auge
            2. 0
              MudGuard
    3. 0
      Camping_RIDER
      1. 0
        Roadster
        1. 0
          Matthias Apsel
          1. 0
            Roadster
            1. 0
              Camping_RIDER
              1. 0
                Roadster
                1. 0
                  Camping_RIDER
                  1. 0
                    Roadster
                    1. 0
                      Camping_RIDER
                      1. 0
                        Roadster
  5. 0
    Gunnar Bittersmann
    1. 0
      Auge
  6. 0
    Matthias Apsel