Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Drakaris en 26 Agosto 2017, 12:07 PM

Título: Porque el screen.width no me funciona?
Publicado por: Drakaris en 26 Agosto 2017, 12:07 PM
Hola. Estoy haciendo mi página web responsive a móviles y tengo que poner:
tablet.js

function anchura{
if(screen.width < 768){
  $("#header").remove();
}
}


Que me dice, si el ancho de mi pantalla es menor que 768 o igual (tablets and phones) me eliminará el elemento con el id header

Puse este script en las etiquetas head:


<script type="javascript/text" src="tablet.js">
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>


Y no me funciona, porque será?
También lo he probado de llamarlo con onload pero no me funcionó
Gracias.
Título: Re: Porque el screen.width no me funciona?
Publicado por: #!drvy en 26 Agosto 2017, 14:18 PM
Esa función no esta declarada de forma valida. Además lo mejor que puedes hacer para diseño responsive es usar CSS, no javascript.

CSS media queries
https://developer.mozilla.org/es/docs/CSS/Media_queries

Media Queries en CSS ¿Cómo funcionan?
https://www.silocreativo.com/media-queries-css/


Código (javascript) [Seleccionar]
var anchura = (function(){
    if(screen.width < 768){
        $('#header').remove();
    }
});


Además lo scripts se colocan al final del body antes de </body>.


Saludos
Título: Re: Porque el screen.width no me funciona?
Publicado por: Drakaris en 26 Agosto 2017, 23:03 PM
Cita de: #!drvy en 26 Agosto 2017, 14:18 PM
Esa función no esta declarada de forma valida. Además lo mejor que puedes hacer para diseño responsive es usar CSS, no javascript.

CSS media queries
https://developer.mozilla.org/es/docs/CSS/Media_queries

Media Queries en CSS ¿Cómo funcionan?
https://www.silocreativo.com/media-queries-css/


Código (javascript) [Seleccionar]
var anchura = (function(){
   if(screen.width < 768){
       $('#header').remove();
   }
});


Además lo scripts se colocan al final del body antes de </body>.


Saludos

Hola #!drvy he intentado lo que me has dicho pero no me ha funcionado me da error, me dice: Uncaught SyntaxError: Unexpected token {
Porque será?

Gracias
Título: Re: Porque el screen.width no me funciona?
Publicado por: engel lex en 27 Agosto 2017, 03:37 AM
funciona perfecto el codigo de drvy, tu problema es un { abierto donde no debe
Título: Re: Porque el screen.width no me funciona?
Publicado por: Drakaris en 28 Agosto 2017, 11:55 AM
Cita de: engel lex en 27 Agosto 2017, 03:37 AM
funciona perfecto el codigo de drvy, tu problema es un { abierto donde no debe

Hola he intentado lo que me han dicho, el jQuery funciona correctamente en mi pagina web. Cuando pongo este código me va bien:


$(document).ready(functions(){
    $("#header").remove();
});


Pero cuando pongo este otro no:

$(document).ready(functions(){
    if(screen.width < 768){
        $("#header").remove();
   }
});


Parece como si pongo el if  me detectara como mal, ya que no hace nada, porque será eso?

Gracias
Título: Re: Porque el screen.width no me funciona?
Publicado por: Drakaris en 31 Agosto 2017, 11:59 AM
Ya lo resolví, es este código:

$(document).ready(function(){
    if (window.matchMedia("(max-width: 768px)").matches){
      $("#header").remove();
    }
  });


Gracias por su atención.