Показать сообщение отдельно
  #1 (permalink)  
Старый 10.03.2012, 12:45
Аспирант
Отправить личное сообщение для n1ko Посмотреть профиль Найти все сообщения от n1ko
 
Регистрация: 08.11.2011
Сообщений: 37

Методы в плагине jQuery
Уважаемые, помогите разобраться с наболевшим вопросом. Совсем недавно стал осваивать технологии разработки плагинов. Столкнулся с очередным вопросом и решил спросить помощи.

Пишу плагин, который отображает серверные сообщения ("позиция удалена", "позиция успешно отредактирована", "операция отменена" и т.п.). Так же отображает статус текущей операции ("Идёт сохранение", "Ожидание подтверждения" и т.д.).

Как в рамках одного плагина правильно сделать несколько методов? Чтобы один отвечал за добавление нового сообщения в список, другой отвечал за статус (выводил, обновлял), другой отвечал за "drag and drop" (плагин выглядит в виде панельки спозиционированной на страничке. при необходимости пользователь может её перетащить на дргое место).

В догонку хочу задать вопрос, как верно забивать разметку. Т.к. этот плагин планирую использовать не на одной страничке (работаю с Joomla. на двух и более видах нужно вывести).

на текущий момент у меня есть наброски. там я только начал вывод разметки

(function($){
    $.fn.mbar = function(options) {
        var options = $.extend({
            drag:   true,
            title:  'Панель сообщений',
            mtime:  true
        }, options);

        var block = $(this);

        var dragHtml = '';
        if(options.drag) {
            dragHtml = '<div class="drag"></div>';
        }
        block.append(
            '<div class="header">' +
                '<div class="title">' + options.title + '</div>' +
                dragHtml +
            '</div>' +
            '<div class="messages" />' +
            '<div class="status" />'
        );

    }
})(jQuery);


вызываю так:
<script type="text/javascript">
    $(document).ready(function(){
        $('.mbar').mbar();
    });
</script>

Блок .mbar пустой.
<div class="mbar"></div>
Ответить с цитированием