Ir para conteúdo
teuzero

Como eu posso usar media query com Jquery no meu site?

Recommended Posts

Meu site é :https://xraros.000webhostapp.com/

 

To com seguinte problema eu adicionei esse código:

 

jQuery(document).ready(function() {
			if($(window).width()<=820)
		{
			
			$('#menu').hide();
		}
	});

no arquivo carrega.js com a intenção de ocultar o menu só quando a tela estive com 820px de largurar ou menos, mais isso não esta acontecendo, como podem ver no meu site esse script n esta funcionando ele ta ocultando o menu em todas as resoluções, como faço pra deixar o menu oculto na resolução de 820px pra baixo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@teuzero Bom ele está funcionando!

 

Bom para esse caso eu recomendo o uso de media no CSS, o que você já utiliza no seu CSS e só configurar ele para o menu.

 

Vou deixar alguns tutorial que podem te ajudar nessa construção do menu:

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_topnav

https://www.w3schools.com/howto/howto_js_topnav.asp

https://www.w3schools.com/howto/howto_css_topnav_centered.asp

 

Uma coisa que eu notei no seu arquivo carrega.js, você repete a mesma função sem a necessidade.

$(document).ready(function(){ // <-- Aqui
	$(".busca").hide();
	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
	$(".lupa img").click(function(){
		if($(this).attr("src") == "img/x.png"){
			$(this).attr("src", "img/lupa.png")
			.siblings().hide();

	} else {
			$(this).attr("src", "img/x.png")
			.siblings().show();

	}
	if($('#menu').is(':visible')){
		$('#menu').hide();
	} else
	{
		$('#menu').show();
	}

	});

	jQuery(document).ready(function() { // <-- Aqui
		if($(window).width()<=820)
		{
			$('#menu').hide();
		}
    });     

Como ele faz a mesma coisa não tem o pq de deixa ele dentro do mesmo.

$(document).ready(function(){
	$(".busca").hide();
	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
  
	$(".lupa img").click(function(){
		if ($(this).attr("src") == "img/x.png")
        {
			$(this).attr("src", "img/lupa.png")
			.siblings().hide();
        }
      	else
      	{
        	$(this).attr("src", "img/x.png")
            .siblings().show();

        }
      
        if ($('#menu').is(':visible'))
        {
        	$('#menu').hide();
        }
      	else
        {
        	$('#menu').show();
        }
	});
  
	if($(window).width() <= 820)
	{	
		$('#menu').hide();
	}
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 hours ago, gabrielms said:

@teuzero Bom ele está funcionando!

 

Bom para esse caso eu recomendo o uso de media no CSS, o que você já utiliza no seu CSS e só configurar ele para o menu.

 

Vou deixar alguns tutorial que podem te ajudar nessa construção do menu:

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_topnav

https://www.w3schools.com/howto/howto_js_topnav.asp

https://www.w3schools.com/howto/howto_css_topnav_centered.asp

 

Uma coisa que eu notei no seu arquivo carrega.js, você repete a mesma função sem a necessidade.


$(document).ready(function(){ // <-- Aqui
	$(".busca").hide();
	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
	$(".lupa img").click(function(){
		if($(this).attr("src") == "img/x.png"){
			$(this).attr("src", "img/lupa.png")
			.siblings().hide();

	} else {
			$(this).attr("src", "img/x.png")
			.siblings().show();

	}
	if($('#menu').is(':visible')){
		$('#menu').hide();
	} else
	{
		$('#menu').show();
	}

	});

	jQuery(document).ready(function() { // <-- Aqui
		if($(window).width()<=820)
		{
			$('#menu').hide();
		}
    });     

Como ele faz a mesma coisa não tem o pq de deixa ele dentro do mesmo.


$(document).ready(function(){
	$(".busca").hide();
	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
  
	$(".lupa img").click(function(){
		if ($(this).attr("src") == "img/x.png")
        {
			$(this).attr("src", "img/lupa.png")
			.siblings().hide();
        }
      	else
      	{
        	$(this).attr("src", "img/x.png")
            .siblings().show();

        }
      
        if ($('#menu').is(':visible'))
        {
        	$('#menu').hide();
        }
      	else
        {
        	$('#menu').show();
        }
	});
  
	if($(window).width() <= 820)
	{	
		$('#menu').hide();
	}
});

 

essa função da parte do código que repeti e outra coisa que é pra quando alguém clicar na lupa.

o que eu to querendo fazer é criar outra função que ao clicar na imagem "barra" apareça o menu e depois quando clicar na imagem "x" a imagem barra volta sem o menu estar presente.Primeiro quero que na resolução 820 pra baixo não apareça o menu, só quero que apareça a imagem barra mesmo, eu vejo muitos sites assim mais não sei como eu faço isso. eu precisaria usar jquery pra fazer um animação com um outro menu que vou montar pra resolução abaixo de 820. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

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