jQuery объединяет.ready и.resize

Часть (ну, почти весь) моего кода, который находится в моей функции jQuery .ready, также применяется при изменении размера окна, так как это макетная работа. Тем не менее, поскольку это один и тот же код, как я могу "объединить" две функции, чтобы мой код не повторялся (и не поддерживал)?

Спасибо!

4 ответа

Решение
$(document).ready(myfunction);
$(window).on('resize',myfunction);

function myfunction() {
    // do whatever
}

Другая техника заключается в .trigger() одно событие внутри другого:

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

Если вы поместите свой код в нижней части страницы, чтобы избежать необходимости $(document).readyстановится еще проще:

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

Еще один лучший вариант

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

Что-то вроде этого??

function mySetupFunction() {
    // stuff here.
}

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

Следующий код может помочь сделать что-то после resize is ready.

      var resizeTimer;

$(window).on('resize', function(e) {

  clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function() {

    // Run code here after resizing has done
            
  }, 250);

});

Проблема заключается в следующем: код работает во время изменения размера.

      $(window).on('resize', function(e) {
  // Run code here while resizing is under going
});
Другие вопросы по тегам