Foros del Web » Programando para Internet » Jquery »

Hacer aparecer algo con un click y que permanezca

Estas en el tema de Hacer aparecer algo con un click y que permanezca en el foro de Jquery en Foros del Web. Buenas noches, tengo una duda, preciso que al hacer click en un elemento, en ésta caso "li>a" aparezca seguido a éste un div (trian), pero ...
  #1 (permalink)  
Antiguo 28/07/2013, 23:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Hacer aparecer algo con un click y que permanezca

Buenas noches, tengo una duda, preciso que al hacer click en un elemento, en ésta caso "li>a" aparezca seguido a éste un div (trian), pero lo único que consigo es que el div se vea sólo en el momento que hago click, osea que desaparece instantaneamente... El código es el sig:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(document).ready(function() {
  3.         $("li>a").click(function() {
  4.             $(this).after("<div class='trian'></div>");
  5.         });
  6.     });
  7. </script>

¿Cómo lo soluciono?

Otra cosa, el "li>a" es un elemento de una navbar, quisiera que el jquery se ejecutara sólo cuando se haga click en el li y esté éste en uso, osea seleccionado, y que cuando se marque otro li suceda lo mismo y se desmarque el anterior, se entiende? Osea que quede marcado sólo cuando se seleccione

Gracias y saludos!
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #2 (permalink)  
Antiguo 29/07/2013, 02:06
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Hacer aparecer algo con un click y que permanezca

Lo que te pasa es que cuando haces click, el elemento aparece y el evento (el click) sigue y se va a la página que tiene el enlace en el href (que suponiendo que esté vacío) te recarga la página.
Lo que tienes que hacer es detener el elemento "click" del href con "event.preventDefault()", sería algo así:
Código Javascript:
Ver original
  1. $(function(){
  2.     $("li>a").click(function(event) {
  3.         event.preventDefault();
  4.         $(this).after("<div class='trian'></div>");
  5.     });
  6. });

P.D.: Yo pongo "$(function(){ ... });" pero es lo mismo que "$(document).ready(function() { ... });".
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #3 (permalink)  
Antiguo 29/07/2013, 08:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Hacer aparecer algo con un click y que permanezca

Cita:
Iniciado por Trublux Ver Mensaje
Lo que te pasa es que cuando haces click, el elemento aparece y el evento (el click) sigue y se va a la página que tiene el enlace en el href (que suponiendo que esté vacío) te recarga la página.
Lo que tienes que hacer es detener el elemento "click" del href con "event.preventDefault()", sería algo así:
Código Javascript:
Ver original
  1. $(function(){
  2.     $("li>a").click(function(event) {
  3.         event.preventDefault();
  4.         $(this).after("<div class='trian'></div>");
  5.     });
  6. });

P.D.: Yo pongo "$(function(){ ... });" pero es lo mismo que "$(document).ready(function() { ... });".
¡Me sirvió! ¡Muchas gracias! Pero ahora lo que sucede es que hago click en otro y sigue el anterior seleccionado, cómo hago para quitarlo cuando se seleccione otro? Gracias de antemano!
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #4 (permalink)  
Antiguo 29/07/2013, 22:44
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Hacer aparecer algo con un click y que permanezca

Cita:
Iniciado por SonrisaCs Ver Mensaje
¡Me sirvió! ¡Muchas gracias! Pero ahora lo que sucede es que hago click en otro y sigue el anterior seleccionado, cómo hago para quitarlo cuando se seleccione otro? Gracias de antemano!
Ahora que miro bien no sólo se van marcando todos juntos sino que el "a" del "li" queda inservible, no cumple la función de enlace, no me redirecciona a otra página
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #5 (permalink)  
Antiguo 30/07/2013, 01:52
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Hacer aparecer algo con un click y que permanezca

Si quieres que te vaya a la página, entonces no necesitas hacerlo por JQuery, haz que el enlace vaya a la página y cuando "pintes" el enlace de la página en el que estás pinta también el div que quieres.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España

Última edición por Trublux; 30/07/2013 a las 02:36
  #6 (permalink)  
Antiguo 30/07/2013, 22:20
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Hacer aparecer algo con un click y que permanezca

Cita:
Iniciado por Trublux Ver Mensaje
Si quieres que te vaya a la página, entonces no necesitas hacerlo por JQuery, haz que el enlace vaya a la página y cuando "pintes" el enlace de la página en el que estás pinta también el div que quieres.
Disculpá mi ignorancia pero no comprendí, cómo que no lo haga con jq? A qué cosa? A los enlaces los tengo normales con etiquetas <a>, pero con el código jq no funcionanl, tal vez me expresé mal anteriormente, o no, pero no logro entender jajajaj gracias por responder! Saludos
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #7 (permalink)  
Antiguo 31/07/2013, 06:13
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Hacer aparecer algo con un click y que permanezca

A ver, con el JS que puse el evento del enlace no se ejecuta (el event.preventDefault), puse eso porque pensaba que lo que querías era mostrar el div y ya está (sin ir al enlace).
Lo que digo es que si quieres que vaya a la página y muestre el div, no necesitas hacerlo por js, cuando estés pintando el enlace de la página en donde estás, pintas el div y ya está, no necesitas js para nada.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #8 (permalink)  
Antiguo 31/07/2013, 21:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Hacer aparecer algo con un click y que permanezca

Cita:
Iniciado por Trublux Ver Mensaje
A ver, con el JS que puse el evento del enlace no se ejecuta (el event.preventDefault), puse eso porque pensaba que lo que querías era mostrar el div y ya está (sin ir al enlace).
Lo que digo es que si quieres que vaya a la página y muestre el div, no necesitas hacerlo por js, cuando estés pintando el enlace de la página en donde estás, pintas el div y ya está, no necesitas js para nada.
Pintar vendría a ser como "aparecer"? :/ Creo que ya entendí, lo que decís es que directamente en la otra página coloque el div y ya, no?
El tema es el siguiente, éste contenido está en el navbar, dentro del header...
Y el header se incluye en el index, con php, osea son archivos separados, y la navbar cambia del index.php (por ejemplo) a contacto.php, por lo que no puedo simplemente agregar el div en contacto.php, ya que la nav está en header... Me explico? De todas maneras gracias por responder, y disculpá las molestias
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.

Etiquetas: Ninguno
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 08:00.