(function($){
var name="youPlug";
$.fn[name]=function(options){
//получим ссылку на контейнер
var container=$(this);
//если в контейнере это плагина нет, тогда создадим новый экземпляр
if (!container.data(name)){
//создаём плагин
var f=function(){
//здесь вы можете разместить приватные функции и переменные
// return возвращает обьект с публичными свойствами
return {
// напишем какойнибудь демонстрационный код
msg:options.msg,
test:function(){
alert(this.msg);
}
}
}
//сохраним плагин в data
container.data(name,f());
}
//если плагин есть, то возвращаем уже созданный экземпляр
else {
return container.data(name);
}
}
})(jQuery);
//эксперемент
$(function(){
$("#test").youPlug({msg:"привет"}); //создаём плагин
$("#test").youPlug().test(); //вызываем метод плагина //alert("привет")
})