¿Cómo hago para que esta función no solo se ejecute en el tamaño de la ventana sino también en la carga de la página inicial?La función de cambio de tamaño de jQuery no funciona en la carga de la página
$(window).resize(function() {
...
});
¿Cómo hago para que esta función no solo se ejecute en el tamaño de la ventana sino también en la carga de la página inicial?La función de cambio de tamaño de jQuery no funciona en la carga de la página
$(window).resize(function() {
...
});
Usted querrá utilizar:
$(document).ready(function() { /* your code */ });
hacer que algo suceda onLoad. Si quieres que algo funcione proceso de carga y onresize, que debe hacer:
onResize = function() { /* your code */ }
$(document).ready(onResize);
$(window).bind('resize', onResize);
Este comportamiento es por diseño.
Debe poner su código en una función nombrada, luego llame a la función.
Por ejemplo:
function onResize() { ... }
$(onResize);
$(window).resize(onresize);
Alternativamente, se puede hacer un plugin para atar y ejecutar un controlador de forma automática:
$.fn.bindAndExec = function(eventNames, handler) {
this.bind(eventNames, handler).each(handler);
};
$(window).bindAndExec('resize', function() { ... });
en cuenta que no funcionará correctamente si el manejador utiliza el objeto event
y no cubre todas las sobrecargas del método bind
.
$(document).ready(onResize);
$(window).bind('resize', onResize);
no funcionaba conmigo.
Trate
$(window).load('resize', onResize);
$(window).bind('resize', onResize);
lugar.
(Sé que esta pregunta es viejo, pero google me enviaron aquí, así que ...)
Otro enfoque, puede simplemente configurar un manejador, y suplantar un evento de cambio de tamaño a sí mismo:
// Bind resize event handler through some form or fashion
$(window).resize(function(){
alert('Resized!');
});
// Trigger/spoof a 'resize' event manually
$(window).trigger('resize');
Creo que la mejor solución es simplemente para obligar a éste a la carga y cambiar el tamaño de evento:
$(window).on('load resize', function() {
// your code
});
Esta es la respuesta más directa de todos –
Esto hace que sea sencillo y limpio. – jamesnotjim