Foros del Web » Programando para Internet » Javascript »

document.getelementbyId argumento no válido

Estas en el tema de document.getelementbyId argumento no válido en el foro de Javascript en Foros del Web. Holas estaba haciendo un script que me funcionaba perfectamente para Firefox pero al probarlo con IE me da un error y no consigo saber por ...
  #1 (permalink)  
Antiguo 04/07/2010, 11:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 7 meses
Puntos: 0
document.getelementbyId argumento no válido

Holas estaba haciendo un script que me funcionaba perfectamente para Firefox pero al probarlo con IE me da un error y no consigo saber por qué. A ver si alguien puede ayudarme. Este es el código:

Javascript
Código:
<script language="JavaScript" type="text/javascript">
		var ancho=700;
		var alto=600;
		var margenX=200;
		var margenY=100;
		var posX;
		var posY;
		var posYin;
		function onmousemove(e){
			posX=e.layerX;
			posY=e.layerY;
			posYin=e.screenY;
//			document.title="layer "+e.layerY + "client "+e.clientY + "page "+e.pageY + "screen "+e.screenY +"window.scrollY "+window.scrollY;
		}
		function mostrar(i){
			window.status=(posX+" "+posY);
			document.getElementById("idtemp").style.top=posY-posYin+margenY;
			document.getElementById("idtemp").style.right=0;
			document.getElementById("idtemp2").data=i.href;
			document.getElementById("idtemp2").width=ancho;
			document.getElementById("idtemp2").height=alto;
			return true;
		}
		function ocultar(i){
			document.getElementById("idtemp2").width=0;
			document.getElementById("idtemp2").height=0;
		}
		function inicializar(){
			var imagenes;
			if(imagenes==null){
				imagenes = document.getElementsByTagName("a");	
				for (var i = 44; i < imagenes.length; i++) {
					imagenes[i].onmouseover=function(ev) { mostrar(this); }
					imagenes[i].onmouseout=function(ev) { ocultar(this); }
				}
			}
			
		}
	</script>
La parte de código del html que está relacionada con ese código:
Código:
<body onload="inicializar();" bgcolor="#000000" text="#ffffff">
	<div  id="idtemp" style="position:absolute;">
		<object id="idtemp2" style="overflow:hidden;" border="0" data="1.htm" width="0" height="0"></object>
	</div>
El error que me dá:
Código:
Argumento no válido.
	at mostrar() (pelis/HTML/index.htm:21)
	at anonymous() (pelis/HTML/index.htm:37)
Las líneas 21 y 37 respectivamente:
Código:
document.getElementById("idtemp").style.top=posY-posYin+margenY;
imagenes[i].onmouseover=function(ev) { mostrar(this); }
Lo que pretendo hacer es que al pasar el mouse por encima de un enlace se muestre una página que irá cambiando según el enlace sobre el que se pasa por encima, es un efecto que he visto que hacen otras webs y que les queda bsatante bien pero no sé como lo harán xD.

Si alguien se está preguntando porque hago la asignación de id's con javascript es porque el texto html lo genera un programa a parte a partir de una plantilla que tiene unas "variables" a cuyo interior no tengo acceso.

En fin si alguien tiene alguna idea de que puede ser o lo ha pasado algo semejante se agredece cualquier ayuda.

Un saludo.

Última edición por drunkly; 04/07/2010 a las 11:36
  #2 (permalink)  
Antiguo 04/07/2010, 11:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: document.getelementbyId argumento no válido

revisa la compatibilidad entre navegadores (cross browsers), en IE por ejemplo layerX es offsetX

http://bytes.com/topic/javascript/an...3325-layerx-ie
http://www.quirksmode.org/js/events_properties.html

Etiquetas: argumentos
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 01:45.