Foros del Web » Programando para Internet » Javascript »

Obtener propiedades CSS con javascript varias veces

Estas en el tema de Obtener propiedades CSS con javascript varias veces en el foro de Javascript en Foros del Web. Buenas. Estoy teniendo problemas a la hora de modificar propiedades de estilo CSS con javascript. Por ejemplo: Quiero que al hacer click sobre un cuadro ...
  #1 (permalink)  
Antiguo 31/03/2010, 18:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 8 meses
Puntos: 0
Obtener propiedades CSS con javascript varias veces

Buenas. Estoy teniendo problemas a la hora de modificar propiedades de estilo CSS con javascript.

Por ejemplo:

Quiero que al hacer click sobre un cuadro de texto este se desplace un pixel hacia arriba, de modo que tengo esto:

Código:
input{position:relative; top:0px;}
...
...

<input type="text" onclick="subir(this);">

...
...


subir(objeto)
{
altura=objeto.style.top;
altura=altura.substring(0,1); /*esto lo hago para quitar las letras px de la altura */
altura=altura-1;
objeto.style.top=altura+"px";
}
Hasta aqui todo perfecto, consigo que se suba, pero al volver a hacer click no entiendo por que la funcion ya no consigue leerme el valor de la posicion del cuadro de texto apareciendome NaN... como que no estuviera definida.

¿Por que pasa esto?
¿como puedo solucionarlo?
  #2 (permalink)  
Antiguo 31/03/2010, 19:28
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 10 meses
Puntos: 45
Respuesta: Obtener propiedades CSS con javascript varias veces

Buenas,

el método substring es para cadenas y lo que estás haciendo es extraer el primer caracter de la cadena, que en el primer caso es un 0 y por eso funciona, pero al restar uno el primer caracter sería el - y por eso te aparece NaN. Lo que tienes que hacer es usar parseInt( ) para hacer la conversión a número.
  #3 (permalink)  
Antiguo 01/04/2010, 05:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Obtener propiedades CSS con javascript varias veces

Muchas gracias por tu respuesta. Pues si, tendra que ser ese el problema.

Ahora lo que hare, que es lo que en realidad quiero es, que se suba un pixel cuando reciba el foco, y que baje otro pixel cuando lo pierda... aunque con parseInt no creo que tenga problemas.

Muchas gracias!
  #4 (permalink)  
Antiguo 01/04/2010, 05:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Obtener propiedades CSS con javascript varias veces

Hola

Corrige el substring

Fijate en esto

Código Javascript:
Ver original
  1. var str1="5px";
  2. var str2="55px";
  3. var str3="555px";
  4. pos1 = str1.indexOf("px");
  5. pos2 = str2.indexOf("px");
  6. pos3 = str3.indexOf("px");
  7. document.write(str1.substring(0,pos1)+"<br />");
  8. document.write(str2.substring(0, pos2)+"<br />");
  9. document.write(str3.substring(0, pos3)+"<br />");

De esta manera da igual que sean 5, 55 o 555

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 01/04/2010, 07:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Obtener propiedades CSS con javascript varias veces

Interesante tecnica... la verdad es que no la habia pensado.

Muy interesante. De momento lo hare con parseInt aunque esta estrategia me valdra seguramente para futuras aplicaciones.

Gracias y un saludo!

Etiquetas: css, propiedades
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 14:03.