Моя проблема заключается в следующем: я разрабатываю удобный для мобильных устройств веб-сайт с двумя таблицами стилей, один для визуализации, ориентированной на ПК, и другой для мобильной визуализации. Наряду с 2 CSS, мне нужна функция для изменения некоторых атрибутов href
в меню при переключении из одного режима визуализации в другой.
Я не буду вдаваться в подробности, потому что это будет очень долго и, вероятно, скучно, в любом случае мне нужно, чтобы функция называлась и на $(document).ready
И на $(window).resize
, то есть каждый раз, когда размер окна изменяется.
Итак, я объявил функцию и назвал ее goToAnchor
, чтобы можно было вызывать ее более одного раза:
$(document).ready(function() {
function goToAnchor() { ... modify some href attr ... }
goToAnchor();
});
Это прекрасно, но, как я сказал, мне также нужно, чтобы функция выполнялась при каждом изменении размера окна, поэтому я подумал, что код может выглядеть следующим образом:
$(document).ready(function() {
function goToAnchor() { ... modify some href attr ... }
goToAnchor();
$(window).resize(goToAnchor());
});
Проблема проста, функция не работает на resize
. Я проверил документацию jQuery и заметил, что каждый пример, связанный с привязкой функции к событию, написан так:
$(window).resize(function() { ...do stuff...} );
Я бы не стал прибегать к использованию анонимной функции, поскольку я уже писал эту функцию ранее. То, что я хочу сделать, предельно просто: вызывать функцию несколько раз, не прибегая к анонимным функциям, чтобы «дублировать» мой код (в конце концов, именно так функции должны работать, верно?).