Como desativar as barras de rolagem com JavaScript?
-
05-07-2019 - |
Pergunta
Eu preciso bloquear as barras de rolagem do navegador quando eu mostrar um div que representam uma janela modal em apenas Internet Explorer 7.
Pesquisando descobri que posso usar document.body.style.overflow='hidden'
mas isso não funciona para o IE7. Eu também tentei com document.body.scroll="no"
que funciona, mas somente depois que eu mouse sobre a barra de rolagem: -S
Alguém conhece um aproach melhor?
Thansks
Solução
Para responder às suas várias perguntas (incluindo que no seu outro comentário), eu acho que você está usando o método de posicionamento errado.
position:fixed
tentativa. É basicamente o mesmo que position:absolute
além do que é relativo para a janela absoluta. Isto é:. Se o usuário rola, as estadias item no mesmo lugar na tela
Assim, com isso em mente, você pode colocar para fora uma sobreposição position:fixed
. Dentro de que você pode ter o seu position:absolute
(ou fixed
novamente, se você preferir - é não deve fazer a diferença). Caixa modal
Outras dicas
Defina o seu modal sobreposição div para preencher o corpo, por isso mesmo que eles rolagem não há nada que eles podem fazer, porque tudo é escondido debaixo dela.
Você também pode ocultar as barras de rolagem usando overflow:hidden
para que o usuário não verá os scollbars por isso não vai ficar tentado a Enrole em torno de:)
Isto pode ajudá-lo:
documentOBJ = {
/*Width and Height of the avaible viewport, what you'r seeing*/
window : {
x : function(){return (document.documentElement && document.documentElement.clientWidth) || window.innerWidth || self.innerWidth || document.body.clientWidth; },
y : function(){return (document.documentElement && document.documentElement.clientHeight) || window.innerHeight || self.innerHeight || document.body.clientHeight;}
},
/*Scroll offset*/
scroll : {
x : function(){return ( document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft; },
y : function(){return ( document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop; }
},
/*Height and width of the total of the xhtml in a page*/
page : {
x : function(){return (document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth; },
y : function(){return (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight; }
},
pointer : {}
}