Foros del Web » Programando para Internet » Javascript »

Problema con la repeticion

Estas en el tema de Problema con la repeticion en el foro de Javascript en Foros del Web. Hola, mi problema es el siguiente: encontre en internet un codigo que lo que hace es que cuando se clickea en un link, se despliega ...
  #1 (permalink)  
Antiguo 02/09/2012, 14:01
 
Fecha de Ingreso: febrero-2012
Mensajes: 99
Antigüedad: 12 años, 9 meses
Puntos: 4
Problema con la repeticion

Hola, mi problema es el siguiente: encontre en internet un codigo que lo que hace es que cuando se clickea en un link, se despliega un div con informacion. el problema es que si quiero hacer esto con varios links, solo me funciona el primero.
Este es el codigo:

<script type="text/javascript" src="../jquery/DesplegarDiv.js"></script>

<script type="text/javascript">
$(function(){
$("#mostrar").click(function(event) {
event.preventDefault();
$("#caja").slideToggle();
});
});
</script>

y el codigo html es el siguiente:

<div>
<a href="#" id="mostrar">Eventos</a>

<div id="caja">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren</p>
</div>
</div>


Por si no se entendio lo que yo quiero hacer es poner varios de estos div pero como el codigo javascript se maneja con el id "caja" y el id "mostrar" al poner varias veces, pasa a funcionar solo el primero.

saludos
  #2 (permalink)  
Antiguo 02/09/2012, 14:04
 
Fecha de Ingreso: febrero-2012
Mensajes: 99
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Problema con la repeticion

PD: de nada serviria que en vez de id sea class, por que lo que esto generaria es que al clikiar se desplieguen todos
  #3 (permalink)  
Antiguo 04/09/2012, 18:38
 
Fecha de Ingreso: febrero-2012
Mensajes: 99
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Problema con la repeticion

Por favor, todavia no logre solucionarlo. estube leyendo y tal vez podria usar el (this) para dercir que habra la caja del mostrar que clickie. pero como se haria?
  #4 (permalink)  
Antiguo 04/09/2012, 21:47
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con la repeticion

puedes hacer lo siguiente

Código HTML:
Ver original
  1. <a href="#" id="mostrar1" />
  2. <a href="#" id="mostrar2" />
  3. <a href="#" id="mostrar3" />
  4. <a href="#" id="mostrar4" />

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2. $('a[id^="mostrar"]').click(function(){
  3. $("#caja").slideToggle();
  4. event.preventDefault();
  5. });
  6. });
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 07/09/2012, 08:45
 
Fecha de Ingreso: febrero-2012
Mensajes: 99
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Problema con la repeticion

Hola, te comento que no me funciona esto que pusiste. ademas te digo que haciendolo en ese caso, el estilo del id mostrar no funcionaria ya que cambian todos los id. saludos
  #6 (permalink)  
Antiguo 07/09/2012, 09:38
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con la repeticion

Pero en todo caso puedes hacer esto

Código HTML:
Ver original
  1. <a href="#" class="mostrar1" >a</a>
  2. <a href="#" class="mostrar2" >a</a>
  3. <a href="#" class="mostrar3" >a</a>
  4. <a href="#" class="mostrar4" >a</a>

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $('a[class^="mostrar"]').click(function(){
  3.         alert('hola');
  4.         event.preventDefault();
  5.     });
  6. });
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: funcion, html, js, repeticion
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 13:43.