Foros del Web » Programando para Internet » Javascript »

ayuda con funcion para cambiar imagen de una clase

Estas en el tema de ayuda con funcion para cambiar imagen de una clase en el foro de Javascript en Foros del Web. Hola, un saludo a todos ... estoy empezando a dar mis primeros pasos con JS y tengo el siguiente problemq: tengo en un css la ...
  #1 (permalink)  
Antiguo 08/05/2010, 12:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
ayuda con funcion para cambiar imagen de una clase

Hola, un saludo a todos ...
estoy empezando a dar mis primeros pasos con JS y tengo el siguiente problemq:

tengo en un css la siguiente clase:
Código:
.ficha{
	width:100px;
	height:inherit;
	background-image: url(../imagenes/mi_ficha.png);
	float: left;
	color:#ffffff;
}
y en mi html el suguiente codigo:
Cita:
<span class="ficha" onmouseover="CambiaFicha();">
<a href="./en_construccion.html" target="principal">CSS</a>
</span>
y por último, en imagenes.js:
Cita:
function CambiaFicha(){
document.getElementById('ficha').style.width="50px ";
}
y el caso es que no me fuciona .... no em cambia el valor de with ...

que estoy haciendo mal, salu2.,
  #2 (permalink)  
Antiguo 08/05/2010, 12:38
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: ayuda con funcion para cambiar imagen de una clase

no te funciona porque el elemento no tiene el ID indicado en getElementById. clase y id no es lo mismo. lo que puedes hacer es cambiar clase por id en el css y html. nota aparte, no puede haber mas de un elemento con el mismo valor de ID.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 08/05/2010, 13:05
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ayuda con funcion para cambiar imagen de una clase

Cita:
Iniciado por zerokilled Ver Mensaje
no te funciona porque el elemento no tiene el ID indicado en getElementById. clase y id no es lo mismo. lo que puedes hacer es cambiar clase por id en el css y html. nota aparte, no puede haber mas de un elemento con el mismo valor de ID.
es que no puedo usar un id, ya que en el html lo utilizo por 5 veces y W3C no valida el uso de varios ids iguales en una misma página, te obliga a usar clases para eso ...
  #4 (permalink)  
Antiguo 08/05/2010, 23:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: ayuda con funcion para cambiar imagen de una clase

pues deja todo como lo tenias y asigna ID. es decir, los elementos tendran clases y IDs, pero por supuesto, cada ID diferente.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 09/05/2010, 04:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ayuda con funcion para cambiar imagen de una clase

ok, voy a probar lo que me has dicho ..
de todas formas, explico lo que quiero hacer por que a lo mejor hay alguna forma más sencilla de hacerlo y yo me estoy complicando tontamente ..

tengo un menú con varias pestañas de acceso de la clase 'ficha' y esa clase tiene una imagen de fondo que es la que representa la ficha .. lo que quiero es que cuando se pase el ratón por encima la imagen de la ficha cambie por otra de distinto color y forma para que de la sensación de que se ha seleccionado ...

salu2.

ayadiendo el atributo id me funciona, al final el código HTML es este:

Código:
<span class="ficha" id="f1" onmouseover="CambiaFicha('f1');" 
               onmouseout="RestauraFicha('f1');">
                      <a href="./tecnHTML.html" target="principal">HTML</a>
	</span>
y en JS:
Código:
function CambiaFicha(id){

  document.getElementById(id).className="ficha_activa";

}



function RestauraFicha(id){

  document.getElementById(id).className="ficha";

}
donde ficha y ficha_activa definen distintos formatos ....

¿Cómo lo ves ??? otra forma mejor de hacerlo ???

salu2 y muchas gracias por la ayuda ...

Última edición por thedarkman; 09/05/2010 a las 04:59
  #6 (permalink)  
Antiguo 09/05/2010, 08:34
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: ayuda con funcion para cambiar imagen de una clase

Usa className:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
<
style>
.
a{background:#F00 /*y/o lo que quieras*/}
.b{background:#00F /*y/o lo que quieras*/}
</style>
</
head>

<
body>
<
div class="a" onmouseover="this.className='b'" onmouseout="this.className='a'">&nbsp;</div>
</
body>
</
html
  #7 (permalink)  
Antiguo 09/05/2010, 09:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: ayuda con funcion para cambiar imagen de una clase

O puedes indicar hover en el mismo css
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. .a{ background-color: #00f; }
  7. .a:hover{ background-color: #f00; }
  8. </style>
  9. </head>
  10. <body>
  11. <div class="a">&nbsp;</div>
  12. </body>
  13. </html>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 09/05/2010, 13:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ayuda con funcion para cambiar imagen de una clase

Hola, antes de nada, gracias a todos por vuestra ayuda ...
en principio cambiando el className del identificador ya me funciona OK, el caso es que no es exactamente lo que se me pide ...
lo que debería hacerlo mediante el objeto Style pero no acabo de con la forma de hacerlo

el caso, es llamanod a una funcion con el valor del identificador de mi elemento span, debería cambiar los atributos backgroud y color de esa clase,

algo así cómo :
Código:
<span class="ficha" id="f1" onmouseover="CambiaFicha('f1',  '#ffffff');" .... >
   ...
   ...

function CambiaFicha(id, color_){
   document.getElementById(id).style.color = color_;
   ...
}
salu2 y gracias de nuevo ...

pd: tengo que hacerlo mediante javascript ...
  #9 (permalink)  
Antiguo 09/05/2010, 18:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: ayuda con funcion para cambiar imagen de una clase

Esto me huele a asignación
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 09/05/2010, 23:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ayuda con funcion para cambiar imagen de una clase

si claro, es un trabajo que tengo que hacer , del que me quedan un par de cosas que no acabo de dar con la tecla ...

salu2.

pd: no estoy pidiendo que nadie me de la solución, sólo ideas de como hacerlo ...

Etiquetas: clase, funcion
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 18:42.