Ayer vimos Harvey, un plugin jQuery que nos permitía controlar cuando se ejecutaban en nuestros CSS’s los cambios sobre las Media Queries dependiendo de los cambios sobre el navegador que accede a nuestras páginas web.
Ahora os traigo onMediaQuery, una implementación en javascript para que no dependas de jQuery para poder disfrutar de esta funcionalidad.
En solo 1kb de Javascript dispones de la capacidad de ejecutar eventos al accionarse una query previamente definida en nuestros CSS’s.
Veamos un ejemplo de su uso:
CSS
<style>
body:after {
content: 'mobile';
display: none;
}
@media screen and (min-width: 35em) {
body:after {
content: 'skinny'
}
}
@media screen and (min-width: 56em) {
body:after {
content: 'wide-screen'
}
}
</style>
En nuestro CSS deberemos indicar que cada una de las queries va a tener un nombre único que usaremos desde nuestro javascript para controlarlos por separado.
JS
<script type="text/javascript" src="js/onmediaquery.min.js"></script>
<script>
var queries = [
{
context: 'mobile',
callback: function() {
console.log('Mobile callback.');
// Lógica que se ejecutará cuando se detecte un móvil
}
},
{
context: 'skinny',
callback: function() {
console.log('skinny callback! ');
//Lógica específica para tablets
}
},
{
context: 'wide-screen',
callback: function() {
console.log('wide-screen callback .');
// Pantallas panorámicas
}
}
];
// Go!
MQ.init(queries);
// Añadimos una query
var my_query = MQ.addQuery({
context: 'skinny',
callback: function() {
console.log( 'second skinny callback!' )
}
});
// Borrar queries
MQ.removeQuery( my_query );
</script>
Y ya en Javascript, informamos la funcionalidad correspondiente para cada una de las media queries que disponemos.
0 comentarios, 2 referencias
+
#