Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] Como abrir cada ventana al hacer click y que no se habran todos

Estas en el tema de Como abrir cada ventana al hacer click y que no se habran todos en el foro de Frameworks JS en Foros del Web. Tengo una duda, Estoy haciendo una sección de noticia y cada vez que hagan clic en el titulo, aparece en la parte de abajo el ...
  #1 (permalink)  
Antiguo 15/06/2014, 23:24
 
Fecha de Ingreso: junio-2014
Mensajes: 26
Antigüedad: 9 años, 10 meses
Puntos: 0
Como abrir cada ventana al hacer click y que no se habran todos

Tengo una duda,
Estoy haciendo una sección de noticia y cada vez que hagan clic en el titulo, aparece en la parte de abajo el contenido.
El logrado que se abra el contenido, pero se abren todos a la vez y quiero que solo se abra solo al que yo haga click,
Este es mi html

html:
<li>
<h1 class="nombre-noticia">Titulo Noticia</h1>
<div class="desc-noticia"><p>Contenido Noticia</p>
</li>
<li>
<h1 class="nombre-noticia">Titulo Noticia</h1>
<div class="desc-noticia"><p>Contenido Noticia</p>
</li>

css:
.desc-noticia{
display:none;
}

javascript:
<script>
$(document).ready(function(){
$(".nombre-noticia").click(function(){
$(".desc-noticia").slideToggle("slow");
});
});
</script>

Eh pensado en hacer un each para contar cuantas noticia tengo en total y guardarlo en un arreglo para que si es 0 abra el 1 la primera noticias algo asi, ya que abran muchas noticias.

Gracias
  #2 (permalink)  
Antiguo 15/06/2014, 23:56
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como abrir cada ventana al hacer click y que no se habran todos

Tienes que hacer un filtrado, para lo cual, primero debes de ubicar al elemento que contiene tanto al <h1> como al <div> de la noticia. Para lo primero, utiliza el método parent y ya con el elemento padre ubicado, busca en él al <div> del contenido con el método find.

Código Javascript:
Ver original
  1. $(".nombre-noticia").click(function(){
  2.     $(this).parent().find(".desc-noticia").slideToggle("slow");
  3. });

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 16/06/2014, 00:14
 
Fecha de Ingreso: junio-2014
Mensajes: 26
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Como abrir cada ventana al hacer click y que no se habran todos

Gracias, me sirvió.
Soy novato en javascript, no entendí muy bien para que sirve parent.
Entiendo que buscaste todas clases desc-noticia y le aplicaste el estilo. Pero no entiendo $(this).parent .
Averiguaré mas sobre esta propiedad, pero si puede decirme algo me serviría.

Gracias era justo lo que quería.
  #4 (permalink)  
Antiguo 16/06/2014, 00:37
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como abrir cada ventana al hacer click y que no se habran todos

La palabra reservada this en este caso se emplea para hacer referencia al objeto en donde se está ejecutando el método click, en este caso sería el elemento de clase "nombre-noticia". El método parent busca y obtiene al elemento padre del elemento al cual le aplicaste el método, en este caso sería el elemento <li>.

Te sugiero leer la información de los enlaces que adjunté, en ellos se detalla el funcionamiento de ambos métodos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: javascript, jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:18.