2016-08-03 8 views
0

Ich arbeite Onepage-Website, was ich zu tun versuche ist Scorlling auf der Webseite und nur deaktivieren und Übergänge zwischen Abschnitten mit den Navbar-Links zu ID. Dafür habe ich diesen Code jquery deaktivieren Scrollen auf der Webseite und erlauben Sie es nur auf Seitenabschnitte

html, body {margin: 0; height: 100%; overflow: hidden} 

alles funktioniert gut, außer ein Problem

$(document).ready(function() { 
    $('.js-scrollTo').on('click', function() { 
     var page = $(this).attr('href'); 
     var speed = 1000; 
     $('html, body').animate({ scrollTop: $(page).offset().top }, speed); 
     return false; 
    }); 
}); 

und diese auf

CSS ist, dass, wenn im in einem bestimmten Abschnitt, der einen großen Inhalt habe ich nicht bewegen kann innerhalb in, was ich versuche, herauszufinden, ist: wie Scrollen innerhalb Abschnitt selbst ohne Scrollen der gesamten Webseite zu aktivieren

Antwort

1

Wenn ich Ihre Frage richtig verstanden habe, was Sie in diesem Fall tun können, fügen Sie eine overflow-y:scroll in die Verpackung div des Inhalts, den du sein möchtest scrollbar.

Zum Beispiel, sagen wir ein div # Test mit etwas Inhalt haben:

<div id="test"> 
    ... Some content 
</div> 

Wir können dann einfach die Stile anwenden:

#test { 
    height: 300px; 
    width: 300px; 
    overflow-y: scroll; 
    background: #ff1000; 
} 

Hier ist es in Aktion: http://codepen.io/anon/pen/RRYERR

+0

danke für deine antwort aber ich habe das schon mal probiert und es hat nicht funktioniert für mich, es zeigt nur die scroll bar aber es scrollt nicht wirklich neben seinem hässlichen, ich suche nach etwas in jquery für eine schlanke scroll bar –

+0

Damit das funktioniert , müssen Sie sicherstellen, dass das div selbst in einiger Höhe begrenzt ist (dh Stellen Sie eine Höhe ein, damit der Inhalt tatsächlich überläuft. Auch für die benutzerdefinierte Bildlaufleiste gibt es eine Reihe von Bibliotheken, die Sie verwenden könnten, um das Aussehen davon zu ändern, wie [this] (https://github.com/gromo/jquery.scrollbar) –

1

Sie können CSS zu Ihrem div hinzufügen: -

yourDiv:hover { overflow: auto; height:desired height } 
+0

danke, aber es nur zeigen Sie eine deaktivierte Bildlaufleiste –

+0

überprüfen Sie aktualisierte ans. –

Verwandte Themen