Ir para conteúdo

Arquivado

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

rikaschmitt

Travar scroll do site no mobile

Recommended Posts

Gente, estou tentando travar o scroll do site no mobile, mas não estou conseguindo.

Tenho o seguinte código jQuery:

 

$('body').on('scrollstart', function(){
   if (menuPrincipal.css('right') == '0px' || menuAreas.css('right') == '0px' || menuAtividades.css('right') == '0px') {
      $('html, body').stop().animate({ 'scrollTop': 0 }, 1);
   }
});

menuPrincipal, menuAreas e menuAtividades são varia´veis que setei para identificar os 3 tipos de menus que o site possui.. e caso eles estejam com o right 0, o scroll trava no topo e não deixa rolar.

 

esse "scrollstart" peguei do site "w3school", mas não está funcionando.... já linkei o jquery-mobile.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ao invés de fazer só com jQuery, faça com que, ao abrir os menus, seja adicionada uma classe no html. E assim, no CSS, dá pra fazer:

html.classeEscolhida,
html.classeEscolhida body {
  overflow: hidden;
}

 

Mas é que esses menus do mobile irão surgir na tela da direita para a esquerda, e é um menu extenso, então ele próprio terá um scroll.. e para não ter o scroll do menu + scroll da página, quero anular o scroll da página..

 

Ah tah, entendi +/- o que vc quis dizer.. mas não vai dar pq não é um site responsivo... existe o site desktop e dentro dele pedaços que "são mostrados" quando mobile... por isso não posso mexer num "body" por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué, por que não?

 

No jQuery, por exemplo:

if(window.innerWidth <= 768) {
  itemQueAtivaMenu.bind('click',function(el){
    el.preventDefault(); // se for um <a/>
    $('html').toggleClass('menuAberto');
  });
};

E, no menu, quando for responsivo, joga o scroll para o elemento da navegação, e não da página (conforme resposta anterior).

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.