Foros del Web » Programando para Internet » Javascript »

Pintando mapas...falla en el IE

Estas en el tema de Pintando mapas...falla en el IE en el foro de Javascript en Foros del Web. Hola a todos. Veréis estoy haciendo un pequeño juego en javascript que consta de un tablero echo con un array de arrays. La funcion que ...
  #1 (permalink)  
Antiguo 12/05/2009, 13:29
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Pintando mapas...falla en el IE

Hola a todos.
Veréis estoy haciendo un pequeño juego en javascript que consta de un tablero echo con un array de arrays.
La funcion que me genera en array es generarMapa(); y devuelve dicho array multidimensional, de ésta forma:

Código PHP:
var mapa =[
                 [
1,0,0,0],
                 [
1,0,1,0],
                 [
1,0,1,1],
                 [
1,0,1,0],
                 [
"a","b","c","d"]
                 ]; 
Donde los 0 son camino y los unos son muro.

Yo quiero "pintar" dicho array, con divs de diferrente colores, dependiendo del número entero almacenado en la posicion del array.
Para eso uso ésta funcion:
Código PHP:
function formatearMapa(){
    
//Variables de funcion.
    
var mapa generarMapa();
    var 
mpd document.getElementById('mapa');
    var 
nombre;
    var 
local;
    var 
autor;
    var 
tamano;
    
    for (
fila 0fila mapa.length-1fila++) { //El -1 es para no leer la ultima fila, la de los datos
        
for (columna 0columna mapa[0].lengthcolumna++) {
            if (
mapa[fila][columna] == 0) {
                
mpd.innerHTML += '<div id="tile' fila columna '" class="c0"></div>';
            }
            else if (
mapa[fila][columna] == 1) {
                
mpd.innerHTML += '<div id="tile' fila '-' columna '" class="c1"></div>';
            }
            else if (
mapa[fila][columna] == 2) {
                
mpd.innerHTML += '<div id="tile' fila '-' columna '" class="c2"></div>';
            }
            else if (
mapa[fila][columna] == 99) {
                
mpd.innerHTML += '<div id="tile' fila '-' columna '" class="c1"></div>';
            }
            
//La segunda parte. Cuando las filas lleguen al final, sumamos uno para acceder a la
            //parte de los datos
            
if(fila == mapa.length-1){
                
fila++;
                
nombre mapa[fila][0];
                
local mapa[fila][1];
                
autor mapa[fila][2];
                
tamano mapa[fila][3];
                var 
datos document.getElementById('datosmap');
                
datos.innerHTML nombre;
                
datos.style.height "30px"
            
}
        }
    }    
    
//Ajustamos el ancho y el fondo del div principal
    
var ancho mapa.lenght*30;
    
mpd.style.width ancho" px";

La ultima fila, es para almacenar datos especificos de mapa (nombre, etc etc).

Las clases CSS solo les dan un display: inline-block; (y su correspondiente hack para la "%&$=ª" de IE).
El div "map" es donde van los divs que se generan en cada bucle.

EN Firefox, Opera, Chrome y Safari, se ve genial, tal como yo quiero, cuadradito por cada posicion de array. Pero en IE no me muestra nada, pantalla en blanco.

Yo supongo que puede ser que IE no represente el codigo html generado con javascript, no se..
Tambien he probado con el document.write();, pero sigue en blanco.

Alguna ayuda/tip/consejo??

Gracias por adelantado, es que llevo toda la tarde dándole vueltas y nanai
  #2 (permalink)  
Antiguo 12/05/2009, 19:10
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
Puntos: 1485
Respuesta: Pintando mapas...falla en el IE

podrias subir un ejemplo funcional, aunque no funcione en msie? quiero intentarlo con msie a ver que error genera, si alguno. no encuentro algun indicio en el codigo como para no funcionar en msie. de momento lo unico que se me ocurre es utilizar DOM para crear elemento y agregarlo al documento.
  #3 (permalink)  
Antiguo 13/05/2009, 16:25
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Pintando mapas...falla en el IE

Hola. Gracias por responder. He simplificado el código que tenía en un par de archivos.
Los he colgado aquí: http:/ /sether.awardspace.biz
He probado a cambiar el CSS a ver si era fallo de eso, pero tampoco. Creo que el problema está en el javascript.

Un saludo y gracias. Sigo "investigando".
  #4 (permalink)  
Antiguo 13/05/2009, 20:21
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
Puntos: 1485
Respuesta: Pintando mapas...falla en el IE

el problema esta aqui, especificamente la parte en azul. el mime type es incorrecto.
Código:
			<script type="application/javascript">
				formatearMapa();
			</script>

Última edición por zerokilled; 13/05/2009 a las 21:09
  #5 (permalink)  
Antiguo 14/05/2009, 07:45
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Pintando mapas...falla en el IE

Oh Dios, qu fallo más tonto. Es que como lo hago con el Aptana, ya sabes ENTER ENTER ENTER y enga.

Me has salvado, muchas gracias zerokilled!!

Un saludo
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 06:38.