Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2007, 09:14
Asyolath
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 19 años
Puntos: 2
Más problemas con IE

Estoy haciendo un código que entre otras cosas tenga la función de que cuando paso el ratón encima de una imagen esta se cambie, tengo estas funciones entre otras:

Código:
function añadirEvento(objeto, tipo_evento, funcion, capturar)
{
	if (objeto)
	{
		if (objeto.attachEvent)
		{
			var r= objeto.attachEvent("on"+tipo_evento, funcion);
			return r;
		}
		else if (objeto.addEventListener)
		{
			objeto.addEventListener(tipo_evento, funcion, capturar);
			return true;
		}
		else {return false;}
	}
}

function seleccionar(id)
{
	extension= document.getElementById(id).src.indexOf('png');
	archivo= document.getElementById(id).src.substring(0,extension-1); //Error en IE: Se requiere un objeto
	document.getElementById(id).src= archivo+'2.png';
}
function deseleccionar(id)
{
	extension= document.getElementById(id).src.indexOf('png');
	archivo= document.getElementById(id).src.substring(0,extension-2); //Error en IE: Se requiere un objeto
	document.getElementById(id).src= archivo+'.png';
}

var imgid= new Array('negrita', 'cursiva', 'subrayado', 'tachado', 'izquierda', 'justificado', 'olist', 'ulist', 'color', 'emoticonos');
	for (i=0; i<imgid.length; i++)
	{
		añadirEvento(document.getElementById(imgid[i]), 'mouseover', function(){seleccionar(this.id);});
		añadirEvento(document.getElementById(imgid[i]), 'mouseout', function(){deseleccionar(this.id);});
	}
Funciona en Firefox pero en IE me da error. He comprobado que lo que ocurre es que no reconoce el parámetro this.id, pero porque y cuál puede ser la solución para que funcione en IE?