Я работаю над следующей версией плагина jQuery для плавной прокрутки (Smooth Div Scroll). Это плагин с сохранением состояния, основанный на фабрике виджетов jQuery, поэтому состояние плагина можно изменить после его инициализации. Либо пользователь может изменить параметры конфигурации плагина, либо использовать один из общедоступных методов, которые я предоставляю.
В этом плагине у меня есть логическое значение: hotSpotScrolling (true/false). Если пользователь устанавливает для этого параметра значение true как часть параметров, предоставляемых при инициализации плагина, активируются горячие точки для прокрутки. И наоборот - инактивируется, если установлено значение false.
Если пользователь изменяет этот параметр после инициализации подключаемого модуля, мне нужно, чтобы подключаемый модуль реагировал на это изменение. Поэтому, если пользователь устанавливает для параметра hotSpotScrolling значение false, мне нужно скрыть горячие точки и деактивировать некоторые другие вещи, связанные с прокруткой горячих точек. И наоборот, если пользователь устанавливает для hotSpotScrolling значение true, мне нужно показать горячие точки и активировать некоторые другие вещи.
Но, насколько я знаю, нет никакого способа заставить jQuery-плагин реагировать на изменения параметров в соответствии с только что описанным сценарием, и я даже не уверен, что это желательно. Для меня это больше похоже на задачу для общедоступных методов? Таким образом, вместо того, чтобы изменять параметр, пользователь вызывает общедоступный метод, и внутри этого метода я пишу код, который изменяет состояние плагина.
Меня интересуют лучшие практики, когда дело доходит до выбора между изменением параметров и вызовом общедоступных методов в плагинах jQuery, и, желательно, несколько хороших примеров с кодом, который проливает свет на эту дилемму.
Заранее спасибо! /Томас