jQuery básico (parte 3)

18
jQuery Iniciando (Parte III)

description

Aqui vemos exemplos de plugins muito úteis para o desenvolvimento de sites, e também temos uma visão geral de como criar novos plugins

Transcript of jQuery básico (parte 3)

Page 1: jQuery básico (parte 3)

jQuery Iniciando (Parte III)

Page 2: jQuery básico (parte 3)

Retrospectiva

Tivemos uma visão geral sobre ◦ Javascript (uso, tipagem, OOP, DOM)

◦ jQuery (o que é, funcionamento, seletores, efeitos, ajax)

Page 3: jQuery básico (parte 3)

Objetivos

Conhecer plugins para o jQuery que facilitam o desenvolvimento de websites

Criar plugins para o jQuery

Page 4: jQuery básico (parte 3)

Agenda

O que são plugins

Usar plugins ◦ Gráficos

◦ Formulários

◦ Imagens

◦ Infra-estrutura

◦ Mobile

◦ UI (conjunto de componentes)

Criar plugins

Page 5: jQuery básico (parte 3)

Plugins.what()

Plugins para o jQuery são bibliotecas (feitas utilizando o jQuery) que adicionam funcionalidades e facilitam ainda mais a nossa vida.

Os plugins podem ser criados por QUALQUER pessoa, ou seja, se o criador não prestar atenção pode tornar o plugin INCOMPATÍVEL com algum navegador.

Page 6: jQuery básico (parte 3)

Plugins.howToUse()

Usar plugins é muito simples. Eles adicionam um método no objeto jQuery e basicamente o que temos que fazer é chamar este método a partir do seletor (passando as opções que queremos):

$(“#elementoTeste”).myPlugin( { option1: “teste”, option2: true, option3: { option4: [“a”, “b”, “c”] } } );

Page 8: jQuery básico (parte 3)

Plugins.use.forms()

Form Wizard ◦ Site

jQTransform ◦ Site

Uniform ◦ Site

File Upload ◦ Site

Page 11: jQuery básico (parte 3)

Plugins.use.mobile()

jQTouch ◦ Site

jQuery Mobile ◦ Site

Page 12: jQuery básico (parte 3)

Plugins.use.ui()

jQuery UI ◦ Site

wijmo ◦ Site

Page 13: jQuery básico (parte 3)

Plugins.create()

Criar plugins não é nada complicado, na documentação do jQuery tem a explicação dos padrões que devemos seguir: ◦ Isole o escopo do seu plugin (evita que outras bibliotecas interfiram no

jQuery);

◦ Não é necessário fazer $(this) no escopo do plugin (this já será um objeto jQuery), porém caso seja criada uma closure dentro do plugin deve ser usado $(this);

Page 14: jQuery básico (parte 3)

Plugins.create.basic()

(function($){

$.fn.myPlugin = function(settings)

{

var config = {};

if (settings) {

$.extend(config, settings);

}

return this;

};

})(jQuery);

Page 15: jQuery básico (parte 3)

Plugins.create.basic()

(function($){

$.fn.myPlugin = function(settings)

{

var config = {};

if (settings) {

$.extend(config, settings);

}

return this;

};

})(jQuery);

Um plugin não deve utilizar mais de um nome

Page 16: jQuery básico (parte 3)

Plugins.create.basic()

(function($){ var methods = { add: function() {}, init: function() {} }; $.fn.myPlugin = function(method) { if (methods[method]) { return methods[method].apply(this,

Array.prototype.slice.call(arguments, 1)); } else if (!method) { return method.init.apply(this); } else { alert(“Método não encontrado”); return this; } }; })(jQuery);

Podemos resolver, criando várias funções

Page 17: jQuery básico (parte 3)

Plugins.create.basic()

(function($){

$.fn.myPlugin = function(settings)

{

var config = {};

if (settings) {

$.extend(config, settings);

}

return this;

};

})(jQuery);

As configurações do plugin devem poder ser alteradas pelo desenvolvedor

Page 18: jQuery básico (parte 3)

Plugins.create.basic()

(function($){

$.fn.myPlugin = function(settings)

{

var config = {};

if (settings) {

$.extend(config, settings);

}

return this;

};

})(jQuery);

Devemos sempre retornar o objeto para manter a fluent interface