web-dev-qa-db-fra.com

jQuery combine .ready et .resize

Une partie (enfin, presque tout) de mon code qui se trouve dans ma fonction jQuery .ready s'applique également lorsque la fenêtre est redimensionnée, car sa mise en page fonctionne. Cependant, puisque c'est le même code, comment pourrais-je "combiner" les deux fonctions, pour que mon code ne se répète pas (et soit un désordre à maintenir)?

Merci!

18
user825286
$(document).ready(myfunction);
$(window).on('resize',myfunction);

function myfunction() {
    // do whatever
}

Une autre technique consiste à .trigger() un événement dans l'autre:

$(window).on('resize',function() {
    // do whatever
});
$(document).ready(function() {
    $(window).trigger('resize');
});

Si vous mettez votre code en bas de page pour éviter d'avoir besoin de $(document).ready, cela devient encore plus simple:

$(window).on('resize',function() {
    // do whatever
}).trigger('resize');
48
Blazemonger

Encore une meilleure option

$(window).on("load resize",function(e){
  function abc() {
    // code here
  }
});
9
karan mehta

Quelque chose comme ça??

function mySetupFunction() {
    // stuff here.
}

$(document).ready(mySetupFunction);
$(window).resize(mySetupFunction);
7
mellamokb