Внутреннее состояние плагина
Доброе время суток! Заранее извиняюсь, если подобная тема уже поднималась здесь.
При выполнении плагина мне нужно хранить текущее состояние объекта (к примеру, положение ползунка или текущий кадр-слайдшоу). Внутри плагина используются некоторые функции. Если плагин применяется к нескольким элементам, то при вызове этих внутренних функций, я не имею доступа к внутренним свойствам текущего объекта. И приходится передавать их отдельно входным параметром как объект (ключ->значение). Мне не очень нравится такой способ, хочу узнать, может существуют ли какие другие методы выхода из ситуации. Если необходимо, могу приложить пример. |
Увы, "родных" средств для этого нет.
|
Какие есть не "родные" средства jQuery?
В этом отношении мне очень нравится Mootools с его объекто-ориентированностью... |
В отношении плагина у браузеров отношение примерно следующее: «я тебе отдаю кусок экрана, 300×200 пикселей, выделяю память и позволяю кое-что, но не всё».
Если Вам нужно дать ссылку, скажем, на кадр слайдшоу на флеше, Вам придется об это озаботиться особо. Например, каждый переход по такому слайдшоу должен вызывать переход на урл с решеткой, а потом при загрузке страницы текст после решетки в урле («хэш») должен передаваться обратно галерее. Почти наверняка, исполнение такого метода взаимодействия лежит за пределами этого форума. |
Это понятно, но я не об этом спрашиваю
http://demo.vkurseweba.ru/jquery/carousel/vertical.html к примеру тут я писал скрипт карусели. В теле плагина есть функция scrollingTo(), которая использует параметр position. Если карусель на странице одна - все ок, иначе параметр position общий для всех плагинов. Чтобы избежать этого приходилось передавать его входым параметром в функцию scrollingTo() |
Ч-черт, я опять не посмотрел, в каком разделе нахожусь.
Прошу прощения, я говорил про плагины браузерные. :( |
ну можно писать widget'ы (jquery ui), хотя тоже та еще "архитектура". Да и меняется она от версии к версии. Хотя понятно, в общем-то, это ж внутренняя штука
а вообще чего ты хотел? У тебя же по сути функция, а не класс (объект). При таком подходе можно выбрать основной элемент, в котором будет храниться информация, и у которого все ее будут спрашивать p.s. а разве там position один на всех получается? Цитата:
|
Используется position последнего элемента к которому применяется плагин. То есть в моем примере, крутиться будет последний элемент, даже если нажимать на элементы управления других.
Я не удивляюсь что оно работает не так как мне хочется. Цитата:
|
тогда может дело в понимании замыканий?
|
Спасибо за ссылку. Но в любом случае мне придется передавать каждую нужную переменную отдельно, чтоб использовалась она вместо той что сохранилось после всех вызовов.
И если у меня их к примеру 5 то это не очень удобно. |
Часовой пояс GMT +3, время: 23:05. |