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
});