Je nachdem, was Sie mit dem entfernten Bildlauf erreichen wollen, könnten Sie einfach das Element fixieren, von dem Sie den Bildlauf entfernen wollen (bei Klick oder einem anderen Auslöser, der den Bildlauf vorübergehend deaktivieren soll)
Ich habe nach einer "temp no scroll"-Lösung gesucht, und für meine Bedürfnisse war dies die Lösung
eine Klasse bilden
.fixed{
position: fixed;
}
dann mit Jquery
var someTrigger = $('#trigger'); //a trigger button
var contentContainer = $('#content'); //element I want to temporarily remove scroll from
contentContainer.addClass('notfixed'); //make sure that the element has the "notfixed" class
//Something to trigger the fixed positioning. In this case we chose a button.
someTrigger.on('click', function(){
if(contentContainer.hasClass('notfixed')){
contentContainer.removeClass('notfixed').addClass('fixed');
}else if(contentContainer.hasClass('fixed')){
contentContainer.removeClass('fixed').addClass('notfixed');
};
});
Ich fand, dass dies eine einfache Lösung ist, die in allen Browsern gut funktioniert und auch auf mobilen Geräten (z. B. iPhones, Tablets usw.) einfach zu verwenden ist. Da das Element vorübergehend fixiert ist, gibt es kein Scrollen :)
HINWEIS: Je nach Platzierung Ihres "contentContainer"-Elements müssen Sie es möglicherweise von links anpassen. Dies lässt sich leicht bewerkstelligen, indem Sie dem Element einen css-Wert für "left" hinzufügen, wenn die feste Klasse aktiv ist
contentContainer.css({
'left': $(window).width() - contentContainer.width()/2 //This would result in a value that is the windows entire width minus the element we want to "center" divided by two (since it's only pushed from one side)
});
14 Stimmen
Wenn sie noch angezeigt wird, ist der Benutzer darauf trainiert, zu denken, dass sie funktionieren muss. Wenn es sich nicht bewegt oder nicht reagiert, wird das mentale Modell des Benutzers, wie die Seite funktioniert, durchbrochen und führt zu Verwirrung. Ich würde einfach einen besseren Weg finden, um mit dem Scrollen während der Animation umzugehen, z. B. die Animation zu stoppen.
0 Stimmen
Eine andere Lösung: stackoverflow.com/questions/9280258/