Foros del Web » Programando para Internet » Javascript »

error con if

Estas en el tema de error con if en el foro de Javascript en Foros del Web. no funciona el siguiente codigo que estoy usando por la parte del if(...) Código: function restar(){ actualwidth=actualwidth-150 } function sumar(){ var caso1=document.getElementById('min6'); if (caso1.style.display=='none'){ actualwidth=actualwidth+150 ...
  #1 (permalink)  
Antiguo 20/12/2010, 11:38
 
Fecha de Ingreso: noviembre-2010
Mensajes: 66
Antigüedad: 13 años, 5 meses
Puntos: 0
error con if

no funciona el siguiente codigo que estoy usando por la parte del if(...)

Código:
function restar(){
actualwidth=actualwidth-150
}
function sumar(){
var caso1=document.getElementById('min6');
if (caso1.style.display=='none'){
actualwidth=actualwidth+150
}else{
actualwidth=actualwidth+0
}
}
despues de una serie de pruebas me e dado cuenta que falla la parte de (si caso1.style.display es igual a 'none') ya que al final lo que hace es darle el ultimo valor que le pongo a "actualwidth" (actualwidth=actualwidth+0)

que parte del codigo esta mal?
  #2 (permalink)  
Antiguo 20/12/2010, 11:49
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: error con if

Habría que ver cómo establecés el estilo display. Tal como lo estás intentando leer sólo obtendrás resultados si lo has asignado vía javascript o con el atributo html style colocado en el mismo tag del elemento. Si lo has asignado mediante una hoja de estilos o mediante un tag <style> no te funcionará. Para que funcione en esos casos hay que leer los estilos computados por el navegador mediante una función como esta:
Código:
function css(id,prop){
    if(window.getComputedStyle){
        return document.defaultView.getComputedStyle(document.getElementById(id),null).getPropertyValue(prop);
    }else{
        var re = /(-([a-z]){1})/g;
        if (prop == 'float') prop = 'styleFloat';
        if (re.test(prop)) {
            prop = prop.replace(re, function () {
                return arguments[2].toUpperCase();
            });
        }
        return document.getElementById(id).currentStyle[prop] ? document.getElementById(id).currentStyle[prop] : null;
    }
}

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 20:20.