2012-04-26 9 views
6

Tengo un sitio sensible donde estoy usando un javascript para crear una barra lateral adhesiva.¿Puedo ejecutar Javascript en función del tamaño de la ventana?

También estoy usando las consultas de medios para cambiar de un diseño de varias columnas a un diseño de una sola columna cuando el tamaño del navegador es inferior a 768px.

Necesito averiguar cómo desactivar el script de menú adhesivo en el diseño de una sola columna. Esencialmente, necesito algo así como una consulta de medios para la declaración del script.

Este es el código que estoy utilizando para permitir el guión:

<script> 
jQuery('#info').containedStickyScroll({ 
     duration: 0, 
     unstick: false 
    }); 
</script> 

¿Hay algo que puedo añadir a lo que sólo tienen que activar si la ventana es 768px de ancho o más ancho?

EDIT: Estoy buscando una solución que funcione si el usuario cambia el tamaño de la ventana sobre la marcha.

+0

También relacionado: http://stackoverflow.com/questions/4811238/how-to-serve-up-different-javascript-files-by-browser-width/4811342#4811342 –

Respuesta

6

Pruebe esto.

$(function(){ 
    $(window).resize(function(){ 
     if($(this).width() >= 768){ 
      jQuery('#info').containedStickyScroll({ 
       duration: 0, 
       unstick: false 
      }); 
     } 
     }) 
     .resize();//trigger resize on page load 
}); 
+0

Necesita '> =' not ' == '. –

+0

@ MДΓΓ БДLL Esto funciona en función del tamaño de la ventana al cargar la página; ¿Hay alguna manera de hacerlo funcionar si el usuario cambia el tamaño de la página después de que se cargue? – artmem

+0

@ MДΓΓБДLL - Pensé que OP necesita solo cuando el ancho debería ser 768 pero el yeste '> =' debería ser mejor. – ShankarSangoli

0

probar este código:

var height = $(window).height(); //I'm assuming you mean height, you can try .width() if yo u need it 

if (height < 768) { 
    jQuery('#info').containedStickyScroll({ 
     duration: 0, 
     unstick: false 
    }); 
} 

Espero que ayude.

Cuestiones relacionadas