Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] efectos en div's diferentes con un solo li

Estas en el tema de efectos en div's diferentes con un solo li en el foro de Jquery en Foros del Web. Buenas tardes. Disculpar por el título pero no se me ha ocurrido otra manera de describir mi duda.. Cómo puedo hacer para que al pulsar ...
  #1 (permalink)  
Antiguo 11/05/2014, 10:19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
efectos en div's diferentes con un solo li

Buenas tardes. Disculpar por el título pero no se me ha ocurrido otra manera de describir mi duda..


Cómo puedo hacer para que al pulsar en el elemento de una lista, me cree un efecto rotatorio en un div y otro tipo de efecto en otro div? estoy trabajando con jquery

Estaba haciendo algo como ésto pero no consigo avanzar y no sé si estará bien:

<li class="ME2" href="#menusandwichera,#menudescripciones">Sandwic hera</li>


$(".ME2").click(function(){


var capa = $(this).attr("href");

¿ .....

..... ?

})


Cómo hago para diferenciar los dos identificadores al asignarlo a la variable capa?




Muchas gracias y si se necesita mas detalle intento explicarlo más.

Gracias.
  #2 (permalink)  
Antiguo 11/05/2014, 10:34
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: efectos en div's diferentes con un solo li

Lo que intentas hacer no tiene ningún sentido.

Si tienes sus IDs obtenlos y somételos.
  #3 (permalink)  
Antiguo 11/05/2014, 11:03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: efectos en div's diferentes con un solo li

Cita:
Iniciado por PHPeros Ver Mensaje
Lo que intentas hacer no tiene ningún sentido.

Si tienes sus IDs obtenlos y somételos.
Es que ahí esta mi duda. Como bien dije no sé si así estará bien. Necesito obtener esos id al pulsar un menú y que hagan efectos diferentes trabajando con jquery
  #4 (permalink)  
Antiguo 11/05/2014, 11:20
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: efectos en div's diferentes con un solo li

El enlace (en cursiva porque es un elemento de una lista y no un enlace, que si que tiene atributo href que li no tiene):

Código HTML:
Ver original
  1. <li class="ME2" href="#menusandwichera,#menudescripciones">Sandwic hera</li>

No tiene ningún sentido.
  #5 (permalink)  
Antiguo 11/05/2014, 11:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: efectos en div's diferentes con un solo li

Muy bien. Doblemente enterado de que mi ejemplo al cual me estoy refiriendo siempre como uno que no sé si estará bien no tiene ningún sentido.

Gracias.
  #6 (permalink)  
Antiguo 11/05/2014, 11:38
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: efectos en div's diferentes con un solo li

Cita:
Iniciado por AjarDeNauer Ver Mensaje
Muy bien. Doblemente enterado de que mi ejemplo al cual me estoy refiriendo siempre como uno que no sé si estará bien no tiene ningún sentido.

Gracias.
Nada.

Cita:
Iniciado por PHPeros Ver Mensaje
Si tienes sus IDs obtenlos y somételos.
Entonces:

Código HTML:
Ver original
  1. <ul>
  2.   <li class="me2"></li>
  3. </ul>
  4.  
  5. <div id="menusandwichera"></div>
  6. <div id="menudescripciones"></div>

Código Javascript:
Ver original
  1. $("li.me2").click(function(){
  2.   menu_sandwichera = $("#menusandwichera")
  3.   menu_descripciones = $("#menudescripciones")
  4. })
  #7 (permalink)  
Antiguo 11/05/2014, 14:38
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: efectos en div's diferentes con un solo li

Vale, gracias, pero creo que no es exactamente lo que busco.

Desarrollo la idea:

Tengo un menú hecho con una lista de seis elementos (lo acorto en el ejemplo). Cada elemento de la lista abre otro submenú formado por dos div, uno sera una lista y otroun texto. Hasta aquí creo que podría servir la solución anterior. Pero si cada submenú ha de mostrar diferentes divs tengo que hacer que según el elemento de la lista pulsado, muestre un par de divs u otros... Me explico?

Quiero decir:

Menú x > submenu x1 , submenú x2
Menú y > submenú y1 , submenú y2

Entonces yo lo había planteado de la siguiente manera para intentar ahorra el máximo código posible y no andarme con 12 identificadores en el código jquery:

Código HTML:
Ver original
  1. [...]
  2. <li class="ME2" href="#menujuego">Juego de mesa</li>
  3. <li class="ME2" href="#menusand">sandwichera</li>
  4.  
  5. [...]
  6.  
  7. <div id="menujuego">
  8.             <ul>   
  9.            ...
  10.                ... 
  11.             </ul>
  12. </div>
  13.  
  14. <div id="menusand">
  15.             <ul>   
  16.            ...
  17.                    ...
  18.             </ul>
  19. </div>
  20.  
  21. <div id="descripcion1">blablabla</div>
  22.  
  23. <div id="descripcio2">blablabla

Código Javascript:
Ver original
  1. $(".ME2").click(function(){
  2.        
  3. var capa = $(this).attr("href");
  4.  
  5. if ($(capa).is(":visible")){
  6.            
  7.             $(capa).fadeOut()
  8.             }else{
  9.                 $(capa).fadeIn();
  10.                
  11.         })

Pero lo que no consigo es pasar a la función dos identificadores. Si por ejemplo pulso "Juego de mesa" me tiene que mostrar el menú juego de mesa y la descripción 2 con sus correspondientes efectos. Y si pulso sandwichera ha de mostrarme el menú sandwichera y la descripción 1.

Tal y como he puesto el código y las etiquetas funcionan pero sin mostrar las descripciones. Por eso se me ocurrió añadir al href dos identificadores, el de menusand y el de su correspondiente descripción, la 1: href="#menusand",#descripción1". pero asi no funciona. La variable a la que asigno el attr("href") cogería dos identificadores y encima debería hacer un efecto diferente a cada uno...

Espero haberme explicado.

Por cierto, soy aficionado. Así que lo siento si algo resulta demasiado elemental.

Última edición por AjarDeNauer; 11/05/2014 a las 14:45
  #8 (permalink)  
Antiguo 11/05/2014, 16:38
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: efectos en div's diferentes con un solo li

Pero es que no puedes usar href en un li, porque es un atributo que corresponde a un enlace (a) que es lo que decíamos antes. Si quiere pasar datos, en HTML existen atributos data-*, que son personalizables:

Código HTML:
Ver original
  1. <li data-juego="juego_de_mesa">Juego de Mesa</li>
  2. <li data-juego="sandwichera">Sandwichera</li>

A estos atributos, como digo, puedes ponerles el nombre que quieras, mientras tengan el formato data-*.

Puedes recoger los valores con data("juego"), por ejemplo:

Código Javascript:
Ver original
  1. $("li.me2").click(function(){
  2.   grupo = $(this).data("juego")
  3. })

Pero a las descripciones tendrás que ponerle algo para identificarlos. Puedes usar los mismos valores que usaste antes, y para que quede más fino usar otro data-* si quieres:

Código HTML:
Ver original
  1. <div class="descripcion" data-descripcion="juego_de_mesa"></div>
  2. <div class="descripcion" data-descripcion="sandwichera"></div>

Y ahora muestras la descripción data-descripcion según qué data-juego se haya pulsado:

Código Javascript:
Ver original
  1. $("li.me2").click(function(){
  2.   grupo = $(this).data("juego")
  3.   $("div.descripcion[data-descripcion="+grupo+"]").fadeIn()
  4. })

No sé si hay algún fallo debido a que hace mucho que no toco JavaScript y no me gusta JavaScript.
  #9 (permalink)  
Antiguo 13/05/2014, 09:13
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: efectos en div's diferentes con un solo li

Investigaré acerca del data-.. Gracias

Con respecto al href sabía que era un atributo de a. De hecho no sale en el desplegable de las etiqueta <li> sin embargo.. me funciona, por eso lo mantuve.

Porque si no... Qué recoge entonces attr() ? supuestamente le pasamos un identificador con el atributo href... así lo entendía yo
  #10 (permalink)  
Antiguo 17/05/2014, 08:05
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: efectos en div's diferentes con un solo li

Cita:
Iniciado por pzin Ver Mensaje
Código HTML:
Ver original
  1. <li data-juego="juego_de_mesa">Juego de Mesa</li>
  2. <li data-juego="sandwichera">Sandwichera</li>

Código Javascript:
Ver original
  1. $("li.me2").click(function(){
  2.   grupo = $(this).data("juego")
  3. })

Código HTML:
Ver original
  1. <div class="descripcion" data-descripcion="juego_de_mesa"></div>
  2. <div class="descripcion" data-descripcion="sandwichera"></div>

Código Javascript:
Ver original
  1. $("li.me2").click(function(){
  2.   grupo = $(this).data("juego")
  3.   $("div.descripcion[data-descripcion="+grupo+"]").fadeIn()
  4. })


Perfecto, me muestra los div's que se correspondien con el elemento de la lista pulsado:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     $("li.me2").click(function(evento){
  4.  
  5.         var grupo = $(this).data("menu");
  6.         $("div.descripcion[data-descripcion=" + grupo + "]").show();
  7.         $("div.menu3[data-menu3=" + grupo +"]").show();
  8.  
  9.             })
  10. })

Código HTML:
Ver original
  1. <ul>
  2.     <li class="me2" data-menu="Sandwichera">Sandwichera</li>
  3.     <li class="me2" data-menu="Juego_de_mesa">Juego de mesa</li>
  4. </ul>
  5.  
  6. <div class="descripcion" data-descripcion="Sandwichera" style="display:none">En base a una sandwichera existente, estudio de mercado.. </div>
  7. <div class="descripcion" data-descripcion="Juego_de_mesa" style="display:none">123456789</div>
  8.  
  9.  
  10. <div class="menu3" data-menu3="Sandwichera" style="display:none">imagen 1imagen 1imagen 1imagen 1></div>
  11. <div class="menu3" data-menu3="Juego_de_mesa" style="display:none">aguan a peich ajar de bore an de mor></div>

Gracias nuevamente

Etiquetas: efectos, javascript, variable
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:55.