Я часами работаю над написанием плагина jQuery, читаю документацию, просматриваю сообщения и т. Д. Пока еще не ясно. Я пишу плагин с несколькими экземплярами, так что у меня есть что-то вроде этогоНапишите плагин jQuery: общедоступные методы и несколько экземпляров плагина
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<script type="text/javascript">
$(".box").myPlugin();
</script>
Так что плагин будет действовать на двух элементах DOM. Вот демо-версия плагина. Предположим, что мне нужна одна или несколько частных переменных (myValue в демонстрации), конечно, любой экземпляр (box1, box2) имеет разные значения.
(function ($) {
$.fn.myPlugin = function() {
this.each(function() {
/* this is a private variable */
var myValue = Math.floor(Math.random() * 10000);
});
return this;
};
/* this is a public method */
$.fn.myPlugin.showValue = function() {
alert('My value is ' + myValue);
};
}(jQuery));
Теперь мне нужен этот плагин, чтобы открыть один общедоступный метод для чтения/записи такой частной переменной. Приведенный выше код завершится с ошибкой «myValue is undefined», конечно.
Мне нужно каким-то образом получить ссылку на любой экземпляр, а затем вызвать «их» общедоступный метод. Что-то вроде
$ ('# box2'). ShowValue()/* ??? */
Любая помощь будет оценена. Спасибо.
Посмотрите на: http://learn.jquery.com/plugins/basic-plugin-creation/ –