• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Открыть меню    

    Создание плагина jquery

    Чтобы создать плагин jQuery необходимо понимать его структуру. Итак, приступим.

    Для чего используется fn
    jQuery.fn - синоним jQuery.prototype.
    Если задать функцию через jQuery.fn, то она будет работать с элементами, найденными через функцию $() (то есть будет работать с выборкой элементов). Контекст этой функции будет содержать выбранные элементы. Иначе, без fn, например, если задать функцию через jQuery: jQuery.say = function(elem) { ….. }, функцию можно будет вызывать через объект jQuery и контекст такой функции будет указывать на глобальный объект window.

    Заготовка:

    JQuery

                  
    (function($){
           
    $.fn.name_plugin = function(options){
           
    //Вутри плагина слово this ссылается на обернутый набор
    //(т.е. не нужно оборачивать контекст функции: 
    //$(this) ,так как это будет преобразовано в $($('#el')); ). 
           
    };
    })(jQuery);
    

    options - параметры, передаваемые плагину. В дальнейшем их необходимо объединить со значениями по умолчанию:

    JQuery

     
    var settings = $.extend((
    
    property1: 'value1',
    property2: function(val1){ alert(val1)},
    property3: 5000,
    property4: null,
    
    }, options || {});

    Иногда требуется обработать каждый обернутый элемент отдельно. Для этого в шаблоне необхрдимо использовать метод each().

    JQuery

              
    $.fn.name_plugin = function(options){
       
    return this.each(function(){
       
    // внутри функции-итератора контекст (this) указывает на
    // текущий элемент DOM и, соответственно, чтобы использовать его с методами
    // jQuery необходимо обернуть контекст: $(this)  
       
    } 
    ); 

    Так как мы возвращаем обернутый набор (используя метод each()), то новый метод можно использовать в составе цепочек методов.

    Итак, перед вами полная структура плагина jQuery:

    JQuery

                     
    (function($){
           
    $.fn.name_plugin = function(options){
    
    var settings = $.extend((
    
    property1: 'value1',
    property2: function(val1){ alert(val1)},
    property3: 5000,
    property4: null,
    
    }, options || {}); 
       
    return this.each(function(){
       
    }     
    
    };
    
    
    
    })(jQuery);         
              
       

    Запуск плагина:

    JQuery

       
    $().ready(function() {
      
     $('.karamba').name_plugin( {
      property1: 120,
      property2: 10,
      property3: 'show more',
      property4: 'show less',
      property5: " [there's more...]"
     });
     
    });
    

    Второй вариант создания плагина jQuery (более подробная информация в статье Плагины jQuery: подробное руководство):

    JQuery

       
    $(document).ready(function(){	
    
    // параметры плагиина по умолчанию
    function options(){
    this.params = {
    data : Array ("дэр дэр дэр",     
                  ".opa" ) };
    };
    //основной объект плагина
    $.Slideshow = function(){}
    
    $.Slideshow.initialize = function(){
    //  создаем новый объект, на основе ф-и конструктора options
    $.options = new options();
    
    for(var i = 0; i < arguments.length; i++)
    $.options.params.data[ i ] = arguments[ i ];
    }
    // Управление плагином
    $.Slideshow.run = function(){
    $($.options.params.data[ 1 ]).text( $.options.params.data[ 0 ] );   
    };        
    
    // инициализируем параметры плагина
    $.Slideshow.initialize("привет медвед", ".opa");
    // запускаем плагин
    $.Slideshow.run();
    // итого;  в блоке с классом opa будет прописан текст "привет медвед"
    
    });
    
    });
    

    Ну и, наконец, чтобы лучше понять, как создаются плагины jQuery, потратьте время на изучение следующих статей:

    таймер обратного отсчета jquery усечение текста на jquery
    пример простого jquery плагина Вкладки на jQuery

    Еще одна структура плагина, как вариант.

    JQuery

       
    $.fn.extend({ 
    
      name_plugin: function(options) {
      
      var obj = $(this);    
        
         var defaults = {
    	    // настройки по умолчанию
    		 }
         var options =  $.extend(defaults, options);
         
         return this.each(function() {
     
      //    obj.attr('id') 
     
    
        		});
        	}
    });
    

    Комментарии к статье

    Добавить комментарий