Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2010, 05:26
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Problema con una función: document.getElementById("indentmenu") is null

Me olvidé de poner el código...

El css es el siguiente:
Código:
/* div exterior contenedor del menu */
.indentmenu{
font: bold 13px Arial;
width: 626px; /*leave this value as is in most cases*/
overflow: hidden;
}

/* divs de los menues de las solapas */
.indentmenu ul{
margin: 0;
padding: 0;
float: left;
width: 630px; /*width of menu*/
border: 1px; /*dark purple border*/
border-width: 1px 0;
background: #C38A87;
}

.indentmenu ul li{
display: inline;
}

.indentmenu ul li a{
float: left;
color: white; /*text color*/
padding: 5px 11px;
text-decoration: none;
border-right: 1px solid #ffffff; /*dark purple divider between menu items*/
}

.indentmenu ul li a:visited{
color: white;
}

.indentmenu ul li a:hover, .indentmenu ul li .current{
color: white !important; /*text color of selected and active item*/
padding-top: 6px; /*shift text down 1px for selected and active item*/
padding-bottom: 4px; /*shift text down 1px for selected and active item*/
background: #9C2F29;
}

/* div del contenido de las solapas */

#divcontenidos {
	display: inline;
    margin:0px;
	float: left;
	padding:23px;
    padding-top:0px;   
	width:580px;
}
La parte de AJAX es esta:
Código:
var cajasmicroinf = new Array(
				'quienes somos',
				'mision',
				'vision',
				'pensamiento',
				'reglamento',
				'encuesta');
		var microinf = new Solapas(cajasmicroinf,'Inf');

function Solapas(cuales,activo){
	var cajas = cuales;
	var estilo = activo;
	var div = null;
	this.solapas = solapas;

function solapas(cual){
		//div = 'aj' + cual;
		for (i=0;i<cajas.length;i++){
			var divcual = document.getElementById('li' + cajas[i]);
			var divmayor = document.getElementById(cajas[i]);
			if(cajas[i] == cual){
				divmayor.style.display = 'block';
			} else{
				divmayor.style.display = 'none';
			}
		}
	}

}

function aggEvento(){
	var links = document.getElementById('indentmenu').getElementsByTagName('a');
	for(i=0; links[i]; i++){
		links[i].onclick = function(){
			var links = document.getElementById('indentmenu').getElementsByTagName('a');
			for(j=0; links[j]; j++){
				links[j].className = '';
			}
			this.className = 'current';
		}
	}
}
La función aggEvento deberia cargarse en la siguiente línea:

Código HTML:
<body id="top" onLoad="aggEvento()">
...
</body> 
Y la línea de AJAX donde me aparece el error es en esta:
Código:
function aggEvento(){
	var links = document.getElementById('indentmenu').getElementsByTagName('a');
Y el error es este:
Código:
document.getElementById("indentmenu") is null
aggEvento()
function onload(event) { aggEvento(); }(load )
var links = document.getElementById('indentmenu').getElementsB yTagName('a');\n
Me podrçian decir por favor por quçe me tira ese error y como podrçia corregirlo?

Muchas gracias a todos.

MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.