В зависимости от того, чего вы хотите добиться с помощью удаленной прокрутки, вы можете просто исправить элемент, с которого вы хотите удалить прокрутку (по щелчку или любой другой триггер, который вы хотите временно отключить прокрутку)
Я искал решение для "временного отсутствия прокрутки", и для моих нужд это решило
сделать класс
.fixed{
position: fixed;
}
затем с 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');
};
});
Я обнаружил, что это достаточно простое решение, которое хорошо работает во всех браузерах, а также позволяет легко использовать его на портативных устройствах (например, iPhone, планшетах и т. Д.).Поскольку элемент временно исправлен, прокрутки нет:)
ПРИМЕЧАНИЕ!В зависимости от размещения вашего элемента «contentContainer» вам может потребоваться настроить его слева.Что можно легко сделать, добавив левое значение CSS к этому элементу, когда активен фиксированный класс
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)
});