Hola amigos Estoy intentando agregar una clase al cuerpo dinámicamente según la resolución de la ventana del navegador. Aquí está el código que estoy tratando de usar, pero necesito ayuda para ajustarlo ya que no sé nada de jQuery.jQuery: Agregar clase dinámicamente según la resolución de la ventana del navegador
Las opciones que quiero lograr son:
Una vez que un visitante llega a mi sitio, el código debe comprobar su tamaño de las ventanas del navegador y agregar la clase de cuerpo de acuerdo con las siguientes reglas
Si el tamaño de la ventana es más que 1024px pero menos que 1280px luego agrega la clase
.w1280
.Si el tamaño de la ventana es más de 1280 pxpero menos de 1440px continuación, agregar la clase
.w1440
.Si el tamaño de la ventana es más de 1440px pero menos de 1280px continuación, agregar la clase
.w1680
.Si el tamaño de la ventana es más de 1680px luego agrega la clase
.wLarge
.
Para lograr esto, intento utilizar la siguiente secuencia de comandos. Mis preguntas son:
es éste el código correcto ? Si no, ¿cuál es el código correcto?
¿Es este el mejor el código más corto posible? Si no, ¿cuál será el código correcto?
Amablemente ayuda porque mi conocimiento de jQuery es casi CERO.
function checkWindowSize() {
if ($(window).width() > 1024) {
$('body').addClass('w1280');
} else {
$('body').removeClass('w1280');
}
if ($(window).width() > 1280) {
$('body').addClass('w1440');
} else {
$('body').removeClass('w1440');
}
if ($(window).width() > 1440) {
$('body').addClass('w1680');
} else {
$('body').removeClass('w1680');
}
if ($(window).width() > 1600) {
$('body').addClass('wLarge');
} else {
$('body').removeClass('wLarge');
}
}
checkWindowSize()
@sdl No hay necesidad de sobrescribir la propiedad className por completo. Simplemente ponga la cadena en una variable: 'var c = width ...'y luego:' c && $ ('body'). addClass (c); ' –
@ Šime Pero si esta función se va a llamar varias veces (como, por ejemplo, cada vez que el usuario cambia el tamaño de la ventana), sería es bueno deshacerse de las clases antiguas que ya no son relevantes. – sdleihssirhc
@sdl El OP no dijo que intentará llamarlo varias veces. Pero independientemente de eso, no desea eliminar todas las clases, ya que otras secuencias de comandos pueden estar agregando nombres de clase. Este sería el camino a seguir: '$ ('body'). RemoveClass ('w1280 w1440 w1680 wLarge'). AddClass (c);' –