Comment faire pour que cette fonction soit exécutée non seulement lors du redimensionnement de la fenêtre, mais également lors du chargement initial de la page?
$(window).resize(function() { ... });
Vous voudrez utiliser:
$(document).ready(function() { /* your code */ });
Pour que quelque chose se passe en charge. Si vous voulez que quelque chose travaille sur la charge et sur la taille, vous devriez faire:
onResize = function() { /* your code */ } $(document).ready(onResize); $(window).bind('resize', onResize);
Je pense que la meilleure solution consiste simplement à l’associer à l’événement de chargement et de redimensionnement:
$(window).on('load resize', function () { // your code });
Ce comportement est voulu.
Vous devriez mettre votre code dans une fonction nommée, puis appeler la fonction.
Par exemple:
function onResize() { ... } $(onResize); $(window).resize(onresize);
Alternativement, vous pouvez créer un plugin pour automatiquement lier et exécuter un gestionnaire:
$.fn.bindAndExec = function(eventNames, handler) { this.bind(eventNames, handler).each(handler); }; $(window).bindAndExec('resize', function() { ... });
Notez que cela ne fonctionnera pas correctement si le gestionnaire utilise l’object event
et qu’il ne couvre pas toutes les surcharges de la méthode bind
.
$(document).ready(onResize); $(window).bind('resize', onResize);
n’a pas travaillé avec moi.
Essayer
$(window).load('resize', onResize); $(window).bind('resize', onResize);
au lieu.
(Je sais que cette question est ancienne, mais Google m’a envoyé ici, alors …)
Une autre approche consiste à configurer simplement un gestionnaire et à imiter soi-même un événement de redimensionnement:
// Bind resize event handler through some form or fashion $(window).resize(function(){ alert('Resized!'); }); // Trigger/spoof a 'resize' event manually $(window).sortinggger('resize');