Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeoO_DF

Desativar scroll da pagina temporariamente

Recommended Posts

Estou criando um sistema de janela modal, até agora está tudo bem, no entanto preciso saber como desativo o scroll da pagina quando a modal estiver aberta, e ativar novamente quando ela for fechada, tipo o facebook quando você abre uma imagem e talz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar javascript, mais facilmente com jQuery para fazer isso.

 

Exemplo:

$(document).ready(function(){
    // REMOVER BARRAS DE ROLAGEM
    $("#idAbrirModal").click(function(){
        $("hmtl, body").css({
            'height' : $(window).height() + 'px',
            'width' : $(window).width() + 'px',
            'overflow' : 'hidden'
        });
    });

    // VOLTANDO TAMANHO NORMAL
    $("#idFecharModal").click(function(){
        $("hmtl, body").css({
            'height' : 'auto',
            'width' : 'auto',
            'overflow' : 'auto'
        });
    });
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até que funcionou mais eu preciso que a barra de scroll fique visivel assim não fazendo aquela de tipo as posições irem pro centro sem ela e quando fechar elas voltaram aonde tava, eu tentei:

$("hmtl, body").css({
			'height' : $(window).height() + 'px',
			'width' : $(window).width() + 'px',
			'overflow': "visible"
		});

porem ai fica com o scroll total da pagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é como se apenas o overflow hidden que estivesse indo mais a height da body não, ai como a scrool bar ocupa width da pagina então ao retirar ela toda a pagina vai para o lado kkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente esse código:

$(document).ready(function(){
    $("html").css({
        'height' : $(window).height() + 'px',
        'width' : $(window).width() + 'px',
        'overflow-x' : 'hidden',
        'overflow-y' : 'auto'
    });
    $("body").css({
        'height' : ($(window).height() + 1) + 'px',
        'width' : $(window).width() + 'px',
        'overflow' : 'hidden'
    });
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm ainda não enfim, deixa assim depois eu faço uns testes e resolvo o problema, de qualquer modo Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.