Nur horizontales Scrollen verhindern

  • JavaScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    Nur horizontales Scrollen verhindern

    Ich möchte gerne dass man bei meiner Website nicht nach links und rechts scrollen kann, sodass man quasi über den Rand hinausscrollt.
    Dazu habe ich folgenden Code gefunden. (Am Ende)
    Jedoch scrollt er nun automatisch nach oben, wenn ich meine modale Form (Bootstrap modal) aufrufe.
    Ich hab es schon mit folgendem Code versucht, aber es klappt nicht.
    Also mit dem auskommentierten ist des der originale Code, ohne ist es mein Versuch.
    Hat jemand eine Idee?

    PHP-Quellcode

    1. $html = $('html');
    2. $body = $('body');
    3. var initWidth = $body.outerWidth();
    4. // var initHeight = $body.outerHeight();
    5. var scrollPosition = [
    6. self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
    7. // ,self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
    8. ];
    9. $html.data('scroll-position', scrollPosition);
    10. $html.data('previous-overflow', $html.css('overflow'));
    11. $html.css('overflow', 'hidden');
    12. // window.scrollTo(scrollPosition[0], scrollPosition[1]);
    13. window.scrollTo(scrollPosition[0]);
    14. var marginR = $body.outerWidth()-initWidth;
    15. var marginB = $body.outerHeight()-initHeight;
    16. $body.css({
    17. 'margin-right': marginR
    18. // ',margin-bottom': marginB
    19. });
    ich würde bei sowas einfach ein div um die seite packen mit der eigenschaft overflow-x:hidden

    HTML-Quellcode

    1. <div style="overflow-x:hidden;white-space:nowrap;">
    2. asssssssssssssssssssssssssssssssads
    3. asssssssssssssssssssssssssssssssads
    4. asssssssssssssssssssssssssssssssads
    5. asssssssssssssssssssssssssssssssads
    6. asssssssssssssssssssssssssssssssads
    7. asssssssssssssssssssssssssssssssads
    8. asssssssssssssssssssssssssssssssads
    9. asssssssssssssssssssssssssssssssads
    10. asssssssssssssssssssssssssssssssads
    11. asssssssssssssssssssssssssssssssads
    12. asssssssssssssssssssssssssssssssads
    13. </div>

    wenn nix scrollbares angezeigt wird gibts auch nichts zu scrollen :)
    Abend @Agita: Danke, aber das ist nicht das was ich möchte.
    Ich hab dazu mal ein Bild angehangen um es verständlicher werden zu lassen.
    Ich rede von einer Website, die ich mit dem Handy aufrufe. (Hatte ich vergessen zu erwähnen, ist aber wichtig)
    Also ich möchte verhindern, dass man den Body "nach rechts schieben kann" und dann links einen weißen Rand sieht.
    Das macht mein Code auch, klappt alles wunderbar.
    Nur wenn ich meine modale Form aufrufe, (Position fixed und z-index > 2000). (also "losgelöst") dann
    scrollt er automatisch hoch und die Form wird ganz oben geöffnet.
    Bilder
    • so.png

      8,55 kB, 608×432, 187 mal angesehen