Как отключить прокрутку тела документа?
У меня есть HTML, у которого много контента, и вертикальная полоса прокрутки появляется, как только загружается HTML. Теперь из этого HTML загружается полноэкранный IFRAME. Проблема в том, что когда IFRAME загружен, родительская полоса прокрутки все еще сохраняется, я хочу отключить полосу прокрутки при загрузке Iframe.
Я пробовал:
-
document.body.scroll = "no"
, он не работал с FF и хром.
-
document.style.overflow = "hidden";
после этого я все еще мог прокручивать, и весь iframe прокрутил бы вверх, показывая родительский HTML.
Мое требование - когда IFRAME загружается, мы никогда не сможем прокручивать весь IFRAME, если родительский HTML имеет полосу прокрутки.
Любые идеи?
Ответы
Ответ 1
Если вы хотите использовать панель прокрутки iframe, а не родительскую, используйте это:
document.body.style.overflow = 'hidden';
Если вы хотите использовать родительскую полосу прокрутки, а не iframe, вам необходимо использовать:
document.getElementById('your_iframes_id').scrolling = 'no';
или установите атрибут scrolling="no"
в свой тег iframe: <iframe src="some_url" scrolling="no">
.
Ответ 2
с css
body,html{
overflow:hidden
}
Ответ 3
Следующий JavaScript может работать:
var page = $doc.getElementsByTagName('body')[0];
Чтобы отключить использование прокрутки:
page.classList.add('noscroll');
Чтобы включить использование прокрутки:
page.classList.remove('noscroll');
В файле CSS добавьте:
.noscroll {
position: fixed!important
}
Ответ 4
добавить этот css
body.disable-scroll {
overflow: hidden;
}
и когда отключить запуск этого кода
$("body").addClass("disable-scroll");
и когда включить этот код
$("body").removeClass("disable-scroll")
Ответ 5
Ответ:
document.body.scroll = 'no';