Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Espindola

Passando parâmetros nas funções jquery

Recommended Posts

Fala galera tudo bom com vocês?

 

Pessoar, me ajudem nesta dúvida!

 

Para criar e chamar um função no jquery é muito simples:

//Criando
jQuery.fn.extend({
   nomeFuncao: function(){  param  }
});
//Chamando
jQuery('div').nomeFuncao( param );

 

Minha dúvida é a seguinte, como faço para criar uma função e passar parâmetros como por exemplo nas funções do jquery UI, onde eu chamo uma função e os parâmetros são inseridos com em um objeto ou array. Veja o exemplo:

 

//chamado
jQuery('div').buttom({
   text:true,
   label:'Clique aqui!'
});

 

Não sei se fui claro, qualquer coisa perguntem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rá encontrei

 

Na verdade isto que estou procurando esta bem explicado aqui: http://imasters.com.br/artigo/21249/jquery/criando-um-plugin-para-jquery

 

Basicamente isto que estou tentando fazer é quase que criar um plugIn vejam:

 

(function( $ ){

 $.fn.mostraNomeIdade = function( options ) {  

   var settings = $.extend( {
     'nome'  : 'nome',
     'idade' : '100'
   }, options);

   return this.each(function() {        

       $(this).html(settings.nome+' '+settings.idade);

   });

 };

   // chamando a função setando os parametros
   $('div').mostraNomeIdade({
       nome: 'william',
       idade: 23  
   });

})( jQuery );

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso William, você não precisa passar sempre 'objetos de parâmetros', mas pode passar quantos argumentos quiser.

( function ( $ ) { 
      $.fn.displayNameAndAge = function ( name , age ) {
             // ... 
      } ;
} ( jQuery ) ) ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que descobri essa utilidade do jQuery, estou tentando criar uma função parecida com a .val(). Mas está acusando que minha função não existe (is not a function).

 

(function($){
jQuery.fn.markerAddress = function(){
return this.each(function(){
	var arrAddress = $(this).title.split('||');
	return arrAddress[0];
});
};
})(jQuery);

Estou chamando assim:

 

alert(arrMarker[index].markerAddress());

arrMarker[index] é um array com objetos Marker do Google Maps, existe alguma restrição quanto ao elemento/objeto em que a função pode ser utilizada ou ao valor retornado?

 

Esse title é uma string no seguinte formato:

 

address||name|description

Quero que me retorne apenas o address.

 

A chamada está na ordem correta, a criação da função está em auxiliar.js e a chamada, em functions.js.

<script type="text/javascript" src="js/lib/jquery_1.7.1.js"></script>
<script type="text/javascript" src="js/auxiliar.js"></script>
<script type="text/javascript" src="js/functions.js"></script>

 

Desde já, muito obrigado! :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.