Comunidad de diseño web y desarrollo en internet online

Obtener el color iniciar de un div con Jquery

Citar            
MensajeEscrito el 13 Ago 2010 04:28 am
Hola, estoy trabajando con Jquery y me he encontrado con un problema que parece simple, pero no encuentro una solución practica.

Básicamente es un div que puede tener cualquier color de fondo que al pasar el cursor por encima cambia el color de fondo y al quitarlo vuelve al color que tenia por defecto el div.

Mi codigo:

Código Javascript :

$("div").hover(
   function(e)
   {
      $(this).css({backgroundColor: "#FFF"});
   },
   function(e)
   {
      $(this).css({backgroundColor: ??? }); // Tendria que volver al color que tenia originalmente el div...
   }
   );


Agradecería que me ayuden para saber de que forma puedo solucionar esto, sin tener que escribir un código nuevo para cada div de diferente color.

Por juanpablogongora

40 de clabLevel



Genero:Masculino  

argentina

chrome
Citar            
MensajeEscrito el 13 Ago 2010 04:57 am
Bueno yo tengo que empezar a aprender jquery así que no puedo dartelo en code...

pero básicamente tienes que tomar el valor y guardarlo en una variable global y luego restaurar desde ahí..

Por nax_hh

Claber

168 de clabLevel

1 tutorial

 

Reus

firefox
Citar            
MensajeEscrito el 13 Ago 2010 05:50 pm
Básicamente lo que dice nax_hh es correcto, la forma más confiable es almacenando el color inicial en alguna parte de tu código y luego restaurarlo.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 13 Ago 2010 05:54 pm
Hola, gracias!

Entiendo la lógica de la solución que me proponen, en un principio se me ocurrió algo así. Pero de que forma obtengo el color de fondo del div con jquery o javascript???

Por juanpablogongora

40 de clabLevel



Genero:Masculino  

argentina

chrome
Citar            
MensajeEscrito el 13 Ago 2010 06:22 pm
Ya lo solucione de la siguiente manera:

Código Javascript :

$("div").hover( 
   function(e) 
   { 
      var colorInicial=$(this).css("background-color");
      $(this).css({backgroundColor: "#FFF"}).attr('alt', colorInicial);
   }, 
   function(e) 
   { 
      var colorInicial=$(this).attr('alt');
      $(this).css({backgroundColor: colorInicial});
   } 
   ); 



Muchas gracias!

Por juanpablogongora

40 de clabLevel



Genero:Masculino  

argentina

chrome
Citar            
MensajeEscrito el 10 Nov 2010 05:47 pm
Disculpa mmmm una duda eso de attr no es como crear una variable?? esque quiero hacer algo similar a lo tuyo pero desconosco el color de cada uno de los div..
Por lo cual no podria usar ello jjaajaj intente hacer algo como color=$(".divColor").css('background-color')
pero nada y esque necesito saber que color tiene.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 11 Nov 2010 11:58 am

Código Javascript :

var colorInicial=$(this).attr('alt'); 


en este caso lo que hace es tomar el valor del atributo alt del elemento.

Por nax_hh

Claber

168 de clabLevel

1 tutorial

 

Reus

firefox
Citar            
MensajeEscrito el 11 Nov 2010 02:38 pm
yo recomendaría no usaras el atributo alt para guardar el valor del color anterior ya que este atributo esta diseñado para proporcionar un texto alternativo a las imágenes en el caso de que por algún motivo no se puedan mostrar, no para guardar datos arbitrarios, ademas existen mejores soluciones, por ejemplo puede usar el método data de jQuery para asociar datos a un elemento:

Código Javascript :

$("div").data( "color-inicial", colorinicial );
$("div").hover(
   function(e) { 
      $(this).css({backgroundColor: "#FFF"});
   },
   function(e) {
      var colorInicial=$(this).data('color-inicial'); 
      $(this).css({backgroundColor: colorInicial});
   });  


espero esto sea de ayuda

Por sney2002

14 de clabLevel



Genero:Masculino  

Puerto Carreño - Vichada

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.