Ir para conteúdo

POWERED BY:

Arquivado

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

danielswater

[Resolvido] mostrar fieldset apos link clicado

Recommended Posts

fala pessoal beleza?

 

seguinte, tenho essa estrutura:

 

<div id="conteudo-interna">
         <p><a href="#">O que  são videoaulas?</a></p>
         <fieldset>
           <p>Videoaulas  são aulas gravadas em formato de vídeo, utilizando recursos multimídia para  oferecer o melhor da tecnologia para o aprendizado.</p>
         </fieldset>
         <p><a href="#">oaulas e as       apostilas? Como são produzidas?</a></p>
         <fieldset>
</div>

 

e eu queria que quando fosse clicado por exemplo "O que são video-aulas?" o fieldset abaixo fosse mostrado. estou usando esse codigo:

 

$("#conteudo-interna fieldset").hide();
$("#conteudo-interna a").click(function(){
//$("#conteudo-interna fieldset").show("slow");
$(this).next("fieldset").show("fast");
});

 

mas não funciona de jeito nenhum.

 

alguma luz?

 

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
$(this).parent("p").next('fieldset').show("fast");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o que você está tentando fazer fique melhor usando uma <ul>

Exemplo:

 

<ul id="conteudo-interna">
<li>
	<a href="" class="titulo">O que  são videoaulas?</a>
	<fieldset>
		<p>Videoaulas  são aulas gravadas em formato de vídeo, utilizando recursos multimídia para  oferecer o melhor da tecnologia para o aprendizado.</p>
	</fieldset>
</li>
<li>
	<a href="" class="titulo">Titulo 2</a>
	<fieldset>
		<p>Texto 2</p>
	</fieldset>
</li>
</ul>

 

Dividindo em <li> fica mais fácil de manipular, alem de ser mais organizado.

Segue o exemplo de como ficaria mais ou menos pra abrir:

 

$(function() {
// Anexa o evento de click aos links com a classe 'titulo'
$('a.titulo').on('click', function(event) {
	// Previne que ao clicar no link a página seja redirecionada
	event.preventDefault();

	// Alterna a visibilidade do <fieldset> que está na mesma <li> com o efeito slide
	$(this).closest('li').find('fieldset').slideToggle('slow');
});
});

 

Obs: Lembrando que se você estiver usando uma versão da biblioteca jquery inferior a 1.7 você terá que substituir o método on() por bind(), live(), ou delegate()

Compartilhar este post


Link para o post
Compartilhar em outros sites

da forma simples:

 

fecha todos

abre oq clicou.

 

 

$("#conteudo-interna fieldset").hide(); //fecha todos
//aqui você abre oq foi clicado

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre como você tentou, vamos te ajudar, e não fazer para você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz dessa forma, mas n vai

 

$("#conteudo-interna fieldset").hide();
$("#conteudo-interna a").click(function(){
      $(this).parent("p").next('fieldset').fadeIn().css('cursor','pointer');
   }).$("#conteudo-interna fieldset").hide();
});

 

problema resolvido

 

segue:

 

<script language="javascript">

$(function(){

$("#conteudo-interna fieldset").hide();
$("#conteudo-interna a").click(function(){
	$("#conteudo-interna fieldset").hide();
		$(this).parent("p").next('fieldset').fadeIn().css('cursor','pointer');

});		

});
</script>

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.