Retroceder   Foros del Web > Programación para sitios web > Javascript > Frameworks

Respuesta
 
Herramientas Desplegado
Antiguo 07-jul-2008, 00:54   #1 (permalink)
pelusete ha deshabilitado el karma
 
Fecha de Ingreso: junio-2008
Mensajes: 10
ayuda con JQUERY

Hola chicos, aki voy nuevamente con una pequeña duda...

tengo una pagina en la cual se "muestran" y "ocultan" informaciones segun donde se clike. En este caso dispongo de 3 titulos (t1, t2 y t3) y 3 contenidos (c1, c2, c3)

Cuando se clikea en t1, muestra/oculta c1 con TOGGLE
Cuando se clikea en t2, muestra/oculta c2 con TOGGLE
Cuando se clikea en t3, muestra/oculta c3 con TOGGLE

Aki viene mi pregunta....¿hay una funcion que pueda detectar un click en un elemento y que muestre/oculte solo el contenido de ese elemento y no el de los demas?

He buscado informacion, existe el efecto "acordeon", muy interesante, pero ello afecta a todo el grupo, kisiera que solo afectara a un solo elemento y que los demas permaneciera intacto

He intentado de diferentes maneras, pero cuando clikeo el t1, me muestra c1, c2, y c3 asike de forma de "parche" decidi hacerme 3 toggles para cada titulo...tonces estoy medio confuso...¿podrian ayudarme?

Code:
Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>

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

<!-- jquery for this page -->
<script type="text/javascript">

// initialize the jquery code
$(document).ready(function(){

//oculta todas las infos
$("#c1, #c2, #c3").hide();

$("#t1").toggle(function(){ $("#c1").slideDown(85); },function(){ $("#c1").slideUp(85); });
$("#t2").toggle(function(){ $("#c2").slideDown(85); },function(){ $("#c2").slideUp(85); });
$("#t3").toggle(function(){ $("#c3").slideDown(85); },function(){ $("#c3").slideUp(85); });

});
</script>

<!-- css for this page -->
<style type="text/css">

body { background: #222; text-align: center; font-family:Arial, Helvetica, sans-serif; font-size:12px; }
#contenedor { background: #000; width: 500px; height: auto; padding: 10px; margin: 0 auto 0 auto; }
.tit { background: #333; color: white; }
.con { background: #069; color: white; }

}
</style>
</head>

<body>

<div id="contenedor">

<div id=t1 class=tit>Click Info TOGGLE 1</div>
<div id=c1 class=con>
contenido 1
</div>

<div id=t2 class=tit>Click Info TOGGLE 2</div>
<div id=c2 class=con>
contenido 2
</div>

<div id=t3 class=tit>Click Info TOGGLE 3</div>
<div id=c3 class=con>
contenido 3
</div>

</div>

</body>
</html>
pelusete está desconectado   Responder Citando
Antiguo 07-jul-2008, 01:06   #2 (permalink)
Moderata
JavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradable
 
Avatar de JavierB
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 19.552
Respuesta: ayuda con JQUERY

Movido al foro de Frameworks desde JavaScript.

Saludos,
__________________
Lee las Políticas de los foros y escribe correctamente.
JavierB está desconectado   Responder Citando
Antiguo 07-jul-2008, 03:01   #3 (permalink)
venkman llegará a ser famoso muy prontovenkman llegará a ser famoso muy pronto
 
Avatar de venkman
 
Fecha de Ingreso: enero-2008
Mensajes: 323
Enviar un mensaje por MSN a venkman
Respuesta: ayuda con JQUERY

No veo el problema.

He copiado el código que pones tal cual y lo he abierto en Firefox y en IExplore. Funciona correctamente: Cuando haces click en Toggle1 se abre o cierra Contenido1, cuando haces clicke n Toggle2, se abre o cierra Contenido2, y cuando haces click en Toggle3, se abre o cierra Contenido3. Así que no acabo de entender qué es lo que no te funciona.

¿Qué es lo que quieres? Si lo que quieres es no tener que poner estas tres líneas:
Código:
$("#t1").toggle(function(){ $("#c1").slideDown(85); },function(){ $("#c1").slideUp(85); });
$("#t2").toggle(function(){ $("#c2").slideDown(85); },function(){ $("#c2").slideUp(85); });
$("#t3").toggle(function(){ $("#c3").slideDown(85); },function(){ $("#c3").slideUp(85); });
y ponerlo sólo una vez, podrías cambiar un poco las cosas:
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>

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

<!-- jquery for this page -->
<script type="text/javascript">

// initialize the jquery code
$(document).ready(function(){
    $(".con").hide();
    $(".tit").toggle(function(){ $(this).find(".con").slideDown(85); }, function(){ $(this).find(".con").slideUp(85);});
});
</script>

<!-- css for this page -->
<style type="text/css">

body { background: #222; text-align: center; font-family:Arial, Helvetica, sans-serif; font-size:12px; }
#contenedor { background: #000; width: 500px; height: auto; padding: 10px; margin: 0 auto 0 auto; }
.tit { background: #333; color: white; }
.con { background: #069; color: white; }

}
</style>
</head>

<body>

<div id="contenedor">

<div class="tit">Click Info TOGGLE 1<div class="con">
contenido 1
</div>
</div>

<div class="tit">Click Info TOGGLE 2<div class="con">
contenido 2
</div>
</div>

<div class="tit">Click Info TOGGLE 3<div class="con">
contenido 3
</div>
</div>

</div>

</body>
</html>
venkman está desconectado   Responder Citando
Antiguo 07-jul-2008, 09:44   #4 (permalink)
pelusete ha deshabilitado el karma
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Respuesta: ayuda con JQUERY

Muchisimas gracias venkman, eso era justo lo ke necesitaba, optimizar el code en cierta manera con una sola funcion para cualquier determinado elemento....no sabia ke hacer, y creo que lo del .find() ayudo mucho

En todo caso, cualquier duda ke siga teniendo, no dudare en postearla

Gracias!! ^^
pelusete está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:46.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93