Как я добираюсь, эта функция к не только работают на окне, изменяют размер, но также и на начальной загрузке страницы?
$(window).resize(function() {
...
});
Вы захотите использовать:
$(document).ready(function() { /* your code */ });
Чтобы что-то произошло при загрузке. Если вы хотите, чтобы что-то работало при загрузке и изменении размера, вы должны сделать:
onResize = function() { /* your code */ }
$(document).ready(onResize);
$(window).bind('resize', onResize);
Такое поведение является преднамеренным.
Вы должны поместить свой код в именованную функцию, а затем вызвать эту функцию.
Например:
function onResize() { ... }
$(onResize);
$(window).resize(onresize);
В качестве альтернативы вы можете создать плагин для автоматического связывания и выполнения обработчика:
$.fn.bindAndExec = function(eventNames, handler) {
this.bind(eventNames, handler).each(handler);
};
$(window).bindAndExec('resize', function() { ... });
Обратите внимание, что он не будет работать правильно, если обработчик использует объект event
, и что он не охватывает все перегрузки метода bind
.