У меня есть функция, которая обновляет размеры элементов в зависимости от размера браузера:
window.onresize = function() { setContentHeight(); }
Однако теперь, когда я использовал AJAX для обмена темами (изменениеbodyHTML,) эта функция должна измениться.Новые темы имеют не только новые изображения, но и совершенно другие макеты.Таким образом, старая функция onresize просто портит страницу.Я думал о двух способах исправить это:
Метод 1) Передать параметр в слегка измененную функцию setContentHeight(themeSelection);
, где параметр используется в операторе switch / case.Pro: обмен темой просто изменил бы значение переданной переменной.Con: setContentHeight(themeSelection);
будет включать код для всех тем и будет длиннее, чем нужно.
Метод 2) Перезапись функции путем вычисления некоторого кода сценария, проанализированного из XMLHTTPRequest.Однако я понятия не имею, как заставить JS изменить существующую функцию или просто удалить ее и запустить новую.Pro: Функция останется короткой Con: Я понятия не имею, как это сделать.
Что бы вы сделали, или вы бы сделали что-то еще полностью?Если ваш ответ - метод 2, то не могли бы вы дать ссылку на то, как это делается?Конечно, у меня нет проблем с выполнением большей части работы, но я мог бы воспользоваться некоторыми советами и примером метода № 2, если это предпочтительный метод.