/** * @author Alexandre Magno * @projectDescription Um plugin para criar um FAQ dropdown com o jQuery * @blog http://blog.alexandremagno.net * @version 1.0 * @param params Objeto de opcoes * @param header elemento que será usado para criar o dropdown ao clicar, * pode ser usado qualquer seletor (por padrão é o elemento h5) * @param content item que será escondido/mostrado de acordo com o clique * em content. Pode ser um elemento, ou uma string representando todos * os elementos que irão ser afetados separados por vírgula * @example * @browser Firefox 2.0+ IE6 * @return jQuery * O seletor usado será o container do FAQ * $('#faqContainer').faq({ * * header: 'h2', * content: '.faqContent' * * }); * * O codigo html seria o seguinte * *
*

Titulo

*

* Conteudo *

* *
* * */ jQuery.fn.faq = function(params) { var options = { header: 'h5', content: 'ul,p' } var op = jQuery.extend(options, params); var $el = $(this); return this.each(function(){ var $question = $(op.header,this); var $response = $(op.content,this); if ($(this).find(op.header).length) { $response.hide(); } $question.bind("click",function(event){ var $currentItem = $(this); var add = true; var $slide = $currentItem.nextAll().filter(function(i){ if($(this).is(op.header)) { add = false; } return add; }); var $self = $slide.slideToggle("slow"); $el.find(op.content).not($self).slideUp("slow"); }); }); };