Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2010, 10:06
linkzda
 
Fecha de Ingreso: febrero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Problemas con Javascript y DOCTYPE

Hola,

Tengo un código en Javascript para mostrar una imagen al poner el mouse sobre un element, en mi caso es un enlace.

Todo funciona correctamente excepto cuando en mi página tengo la siguiente etiqueta:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Cuando tengo esa línea en mi página no me jala el javascript en Firefox 3.6.8 y si en funciona en IExplorer 8. Si quito la línea me jala perfectamente el javascript en ambos navegadores peroooooo no me reconoce varios estilos (CSS) en mi página :(

Lo que necesito es tener el DOCTYPE y que me funcione el Javascript en FireFox.

El código en javascript es el siguiente:

Código:
Xoffset= -60; // modify these values to ...	
Yoffset= 20; // change the popup position.
var old,skn,iex=(document.all),yyy=-1000;
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
if (ns4)
	skn=document.dek
else if (ns6)
	skn=document.getElementById("dek").style
else if (ie4)
	skn=document.all.dek.style
if(ns4)
	document.captureEvents(Event.MOUSEMOVE);
else{
	skn.visibility="visible"
	skn.display="none"
}
document.onmousemove=get_mouse;	


function popup(msg,bak){
	var content="<TABLE WIDTH=100 CELLPADDING=2 CELLSPACING=0 "+
	"BGCOLOR="+bak+"><TD ALIGN=center><FONT COLOR=black SIZE=2>"+msg+"</FONT></TD></TABLE>";
	yyy=Yoffset;
	if(ns4){
		skn.document.write(content);
		skn.document.close();
		skn.visibility="visible";
	}
	if(ns6){
		document.getElementById("dek").innerHTML=content;skn.display=''
	}
	if(ie4){
		document.all("dek").innerHTML=content;skn.display=''
	}
}

function get_mouse(e){
	var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
	skn.left=x+Xoffset;
	var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
	skn.top=y+yyy;
}

function kill(){
	yyy=-1000;
	if(ns4){
		skn.visibility="hidden";
	}
	else if (ns6||ie4)
		skn.display="none"
}
Espero me puedan ayudar.

Saludos.