Foros del Web » Programando para Internet » Javascript »

Que tengo mal en esta sintaxis? funca en Fx y no en IE :s

Estas en el tema de Que tengo mal en esta sintaxis? funca en Fx y no en IE :s en el foro de Javascript en Foros del Web. el problema es que se queda como que esta cargando la foto, osea esto cuando se carga la pagina llama a una funcion que selecciona ...
  #1 (permalink)  
Antiguo 30/07/2007, 19:05
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 19 años, 4 meses
Puntos: 1
Que tengo mal en esta sintaxis? funca en Fx y no en IE :s

el problema es que se queda como que esta cargando la foto, osea esto cuando se carga la pagina llama a una funcion que selecciona aleatoriamente una foto dentro de un array y la muestra, cuando la muestra se pone un gif de cargando hasta que imagen.complete este en true, entonces pone la foto. pero cuando se carga en IE, muestra el gif de cargando y no llega nunca la foto, porque?

este es el codigo:

Código PHP:
var temporal=0;
var 
dir="/vp/imagenes/";

function 
aleatorio(){
    var 
numPosibilidades img_vp.length-1;
    var 
aleat Math.random() * numPosibilidades
    aleat 
Math.round(aleat)
    return 
aleat;
};

var 
tmp_img_g=new Image();
var 
tmp_img_id;
var 
guia=0;
var 
guia_str;


function 
aver(f){
    
window["guia"]++;
    
document.getElementById("ver").innerHTML="<font color=\"#FFFFFF\"><b>"+f+" "+window["guia"]+"</b></font>";    
};

function 
chk_img(){
    var 
tmp_img=new Image();
    
tmp_img=window["tmp_img_g"];
    if(
tmp_img.complete){
        
clearTimeout(window["tmp_img_id"]);
        
document.getElementById('fotelis').style.backgroundImage="url("+tmp_img.src+");";
        
//document.getElementById("foteli").style.display="";
    
}else
        
window["tmp_img_id"]=setTimeout("chk_img();",100);
};

function 
pone(tt){
    
document.getElementById("ver").innerHTML=tt;
    
tt=window["dir"]+tt;
    var 
tmp_img=new Image();
    
document.getElementById('fotelis').style.backgroundImage="url(cargando.gif)";
    
//document.getElementById("foteli").style.display="none";
    
tmp_img.src=tt;
    
window["tmp_img_g"]=tmp_img;
    
chk_img();
    return;
};

function 
ini(){
    var 
v=aleatorio();
    
pone(img_vp[v]);
};

function 
cambiaf(b){
    
window["guia"]=0;
    if(
b==1){
        if((
window["temporal"]+1)==window["img_cant"]){
            
window["temporal"]=0;
        }
        else{
            
window["temporal"]++;
        }
    }
    else{
        if((
window["temporal"]-1)<0){
            
window["temporal"]=(window["img_cant"]-1);
        }
        else{
            
window["temporal"]--;
        }
        
    }
    var 
u=window["temporal"];
    
pone(img_vp[u]);
};
window.onload=ini
__________________
Dios es la unica fuente de todo bien.
  #2 (permalink)  
Antiguo 30/07/2007, 22:38
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Que tengo mal en esta sintaxis? funca en Fx y no en IE :s

el problema es rarísimo:

esta aca en esta funcion

Código PHP:
function chk_img(){
    var 
tmp_img=new Image();
    
tmp_img=window["tmp_img_g"];
    
aver(tmp_img.src);
    if(
tmp_img.complete){
        
//aver(document.getElementById('fotelis').style.backgroundImage);
        //clearTimeout(window["tmp_img_id"]);
        
document.getElementById('fotelis').style.backgroundImage="url("+tmp_img.src+");";
        
//aver(document.getElementById('fotelis').style.backgroundImage);
        //document.getElementById("foteli").style.display="";
    
}else
        
window["tmp_img_id"]=setTimeout("chk_img();",100);
}; 

cuando tmp_img.complete es verdadero, entra pero es como si no tubiera la linea

Código:
document.getElementById('fotelis').style.backgroundImage="url("+tmp_img.src+");
no entiendo, en otras partes del codigo se usa esa linea asi y funciona, y ahi no funciona. si miro el contenido de

Código:
document.getElementById('fotelis').style.backgroundImage
despues de pasar la linea que nombre, sigue con el valor anterior, como si esa linea no estubiera

que puede ser?


PD: No me equivoque, esta el id foteli y fotelis que son distintos. no hace falta que hagan comentarios respecto a eso ya que solo se usa el id fotelis en este archivo.
__________________
Dios es la unica fuente de todo bien.
  #3 (permalink)  
Antiguo 31/07/2007, 01:48
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 10 meses
Puntos: 3
Re: Que tengo mal en esta sintaxis? funca en Fx y no en IE :s

y si, por probar:

document.getElementById('fotelis').style.backgroun dImage="url("+tmp_img.src+");";

Le quitas el ; que esta en rojo ...






Saludos
  #4 (permalink)  
Antiguo 31/07/2007, 10:09
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Que tengo mal en esta sintaxis? funca en Fx y no en IE :s

gracias
__________________
Dios es la unica fuente de todo bien.
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:45.