Инициализация плагина при изменении размеров окна браузера
Здравствуйте, такой вопрос:
Имеется jquery плагин, вся логика его находится в методе this.init() Мне нужно чтобы инициализация происходила заново при изменении размера окна браузера. Пробовал через $(window).resize( но получается что, он при старте инициализируется, потом при изменении размеров окна, снова инициализируется и происходит что-то вроде дублирования. |
И чего ты сейчас ждешь? Кусок кода, который решит твою проблему?
Или ты стесняешься рассказать что за плагин, дать его код и ждешь когда тебя об этом станут расспрашивать? |
Плагин я сам делаю, код не скину потому как копаться в нем никто не будет. А жду я ответа на вопрос, как предотвратить дублирование при повторной инициализации.
|
Не нужно повторно вызывыть init() - это же очевидно.
Просто по onresize обновляй нужные тебе значения. |
Если честно не совсем понимаю как это сделать.
Вот у меня Mate.prototype.init = function () { this.img = this.element.children('img'); this.popup = this.element.find('a'); // IMG SIZE this.imgWidth = this.img.innerWidth(); this.imgHeight = this.img.innerHeight(); и т.д Как мне их обновить? недогоняю :) |
Я же не думаю что каждую переменную нужно опять прописывать внтури функции обработчика.
Или их нужно поместить внутрь, а при инициализации вызвать через триггер? |
Mate.prototype.init = function () { $(window).resize($.proxy(this, 'onResize')); ... } Mate.prototype.onResize = function () { this.imgWidth = this.img.innerWidth(); this.imgHeight = this.img.innerHeight(); } |
Так получается что onResize вызывается только после изменения окна, но изначально он не вызывается
|
prison47,
$(document).ready - первично ? ;) |
Цитата:
|
Часовой пояс GMT +3, время: 18:26. |