Foros del Web » Programando para Internet » Javascript »

Menu desplegable javascript

Estas en el tema de Menu desplegable javascript en el foro de Javascript en Foros del Web. Hola. La verdad es que no se que falla en este menu, pero al pinchar ne el no va. No carga la pagina. ALguna idea? ...
  #1 (permalink)  
Antiguo 27/03/2009, 11:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Menu desplegable javascript

Hola. La verdad es que no se que falla en este menu, pero al pinchar ne el no va. No carga la pagina. ALguna idea?
Código:
<head>
<title>Men&uacute; desplegable - javascript.tunait.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">

posArriba = 50;
posIzquierda = 0;

var anchoOp = 100;
var menuPrin =3;

var tunIex=navigator.appName=="Microsoft Internet Explorer"?true:false;
var tiempo;
function menucete(ide,num){ // crea submenus principales (capa)
	espan = document.createElement("span");
	document.getElementById('Men_'+num).appendChild(espan);
	espan.id=ide.toLowerCase(ide)+'_'+num;
	espan.className="subMe";
	espan.cierra = true;
	espan.tiempo = 0;
	espan.style.top="-1px";
	espan.onmouseout=function(){
		setTimeout('ocultaP()',1000);
	}
	with(espan.style){
		width = anchoOp+"px";
	}
	posIzquierda += anchoOp;
	construye(ide+'_'+num,eval('Op_'+num).subO);
}
function seccion(tex,enl,dstn,subO,an,dir){
this.tex = tex;
this.enl = enl;
this.dstn = dstn;
this.subO = subO;
this.dir = dir;
this.an = an;
}
var Op_0 = new seccion("sdf",null,null,1);
var Op_0_0=new seccion('lacrimos2','lacrimosa2.php','_blank',0);
var Op_1 = new seccion("sdf",null,'',0);
var Op_2 = new seccion("sdfdsf",null,'',0);

var anchoTotal = 312; 
if(!tunIex){anchoTotal += menuPrin*3}
function menPrin(){ //crea menu principal
	menuP=document.createElement('div')
	tablaP = document.createElement('table')
	tablaP.border=1
	menuP.appendChild(tablaP)
	cuerpoTabla = document.createElement('tbody')
	tablaP.appendChild(cuerpoTabla)
	fila=document.createElement('tr')
	fila.id ='filita'
	cuerpoTabla.appendChild(fila)
	tablaP.cellSpacing='0'
	tablaP.className='celda'
	document.getElementById('tunMenu').appendChild(menuP)
	menuP.className = "subMeP"
	menuP.id = 'MenuPrincipal'
	menuP.style.visibility='hidden'
	menuP.style.position="absolute"
	menuP.style.width = anchoTotal +"px"
	for(s=0; s<menuPrin; s++){ //crea botones principales
		opcionP=document.createElement('div')
		opcionP.className = "botonesP"
		opcionP.style.width= anchoOp+'px'
		document.getElementById('MenuPrincipal').appendChild(opcionP)
		opcionP.id='Men_'+s
		opcionP.onclick=function(){
		}
		celda = document.createElement('td')
		document.getElementById('filita').appendChild(celda)
		celda.id='celda_' + s
		celda.appendChild(opcionP)
		celda.className='celda'
		if(eval('Op_'+s).subO > 0){
			menucete('Op',s)
		}
	}
}

var subs=new Array(0)
function construye(ide,num){
	subOp=0
	for(m=0; m<num; m++){
		opchon = eval(ide +'_' + m)
		caja = document.createElement("div")
		boton = document.createElement("div")
		boton.appendChild(caja)
		caja.className='Caj'
		document.getElementById(ide.toLowerCase()).appendChild(boton)
		identi = ide.toLowerCase()  + "_" + m
		caja.id=identi+'caja'
		boton.id = identi
		boton.className = 'botones'
		document.getElementById(identi).appendChild(document.createTextNode(opchon.tex))
		salto = document.createElement('br')
		boton.onmouseover=function(){
			this.className='botonesHover'
			this.parentNode.cierra=false
			muestra(this.parentNode.id)
		}
		boton.onmouseout=function(){
			this.className='botones'
			this.parentNode.cierra = true
		}
		if(opchon.subO > 0){
			subs[subs.length] = identi
			subOp++
			boton.style.cursor='default'
		}
		else{
			boton.style.cursor=cur
			if(opchon.enl!=null){
				boton.enl=opchon.enl
				boton.dstn=opchon.dstn
				boton.onclick=function(){
					enlaces(this.enl,this.dstn)
				}
			}
		}
	}	
	if(subs.length>0){construyeSub(subs)}
}
function construye2(ide,num){
	for(m=0; m<num; m++){
		opchon = eval(ide +'_' + m)
		caja = document.createElement("div")
		boton = document.createElement("div")
		boton.appendChild(caja)
		caja.className='Caj'
		document.getElementById(ide.toLowerCase()+'_sub').appendChild(boton)
		identi = ide.toLowerCase()  + "_" + m
		boton.id = identi
		caja.id=identi+'caja'
		boton.className = 'botones'
		document.getElementById(identi).appendChild(document.createTextNode(opchon.tex))
		salto = document.createElement('br')
		boton.onmouseover=function(){this.className='botonesHover'}
		boton.onmouseout=function(){this.className='botones'}
		if(opchon.subO > 0){
			subs[subs.length] = identi
			subOp++
			boton.style.cursor='default'
		}
		else{
			boton.style.cursor=cur
			if(opchon.enl!=null){
				boton.enl=opchon.enl
				boton.dstn=opchon.dstn
				boton.onclick=function(){
					enlaces(this.enl,this.dstn)
				}
			}
		}
	}	
}
var cur=tunIex?'hand':'pointer'
function construyeSub(lista){
	largo = subs.length
	for(t=0; t<subs.length;t++){
		if(subs[t] != null){
			obj = subs[t].charAt(0).toUpperCase() + subs[t].substr(1)
			obj2 = subs[t].charAt(0).toUpperCase() + subs[t].substring(1,subs[t].length-2)
			espan = document.createElement("span")
			document.getElementById(subs[t]+'caja').appendChild(espan)
			espan.id=subs[t]+'_sub'
			espan.className="subMe"
			espan.cierra = true
			document.getElementById(subs[t]).onmouseover=function(){
				this.className = 'botonesHover'
				this.parentNode.cierra=false
				muestra(this.id+'_sub')
			}
			document.getElementById(subs[t]).onmouseout=function(){
				this.className = 'botones'
				this.parentNode.cierra = true
				oculta(this.id+'_sub')
			}
			espan.onclick=function(){
			}
			if(eval(obj2).an){An=eval(obj2).an}
			else{An=anchoOp}
			if(eval(obj).an){An2=eval(obj).an}
			else{An2=anchoOp}
			if(eval(obj).dir=='iz')
			{pIz=-(An2-20)+"px"}
			else{pIz=(An-20)+"px";}
			
			with(espan.style){
			position="absolute"
			width = An2+"px"
			left= pIz
			visibility = 'hidden'
			}
			construye2(obj,eval(obj).subO)
			subs[t] = null
		}
	}
}
function enlaces(enl,dstn){
	if(dstn != null && dstn.toLowerCase() == 'nueva'){
		window.open(enl)
	}
	else if(dstn==null){
		location.href=enl;
	}
	else{
		eval(dstn+'.location.href=.'+enl);
	}
}
function muestra(cual){
	document.getElementById(cual).style.visibility='visible'
}
function oculta(cual){
document.getElementById(cual).style.visibility='hidden'
}

function ocultaP(){
	for(y=0;y<menuPrin;y++){
		if(document.getElementById('op_'+y)!=null){
			if(document.getElementById('op_'+y).cierra){
			document.getElementById('op_'+y).style.visibility='hidden'
			}
		}
	}
}
function inicio(){
	menuP=document.createElement('div')
	tablaP = document.createElement('table')
	tablaP.border=1
	menuP.appendChild(tablaP)
	cuerpoTabla = document.createElement('tbody')
	tablaP.appendChild(cuerpoTabla)
	fila=document.createElement('tr')
	fila.id ='filitaP'
	cuerpoTabla.appendChild(fila)
	tablaP.cellSpacing='0'
	tablaP.className='celda'
	document.getElementById('tunMenu').appendChild(menuP)
	menuP.className = "subMeP"
	menuP.id = 'MenuPrincipalP'
	menuP.style.width = anchoTotal+"px"
	for(s=0; s<menuPrin; s++){ //crea botones principales
		opcionP=document.createElement('div')
		opcionP.className = "botones"
		opcionP.style.width= anchoOp+'px'
		opcionP.appendChild(document.createTextNode(eval('Op_'+s).tex))
		document.getElementById('MenuPrincipalP').appendChild(opcionP)
		opcionP.style.cursor = cur
		opcionP.id='tuMen'+s
		if(eval('Op_'+s).enl!=null){
			opcionP.enl=eval('Op_'+s).enl
			opcionP.dstn=eval('Op_'+s).dstn
			opcionP.onclick=function(){
				enlaces(this.enl,this.dstn)
			}
		}
		celda = document.createElement('td')
		document.getElementById('filitaP').appendChild(celda)
		celda.id='celdaP_' + s
		celda.appendChild(opcionP)
		celda.className='celda'
	}
	for(n=0;n<menuPrin;n++){
		document.getElementById('tuMen'+n).onmouseover=function(){
			if(document.getElementById('op_'+this.id.substr(5))!=null){
				clearTimeout(tiempo)
				document.getElementById('op_'+this.id.substr(5)).cierra=false
				ocultaP()
				muestra('op_'+this.id.substr(5))
			}
			else{
				clearTimeout(tiempo)
				ocultaP()
			}
		}
		document.getElementById('tuMen'+n).onmouseout=function(){
			if(document.getElementById('op_'+this.id.substr(5))!=null){
				document.getElementById('op_'+this.id.substr(5)).cierra=true
				tiempo =setTimeout('ocultaP()',1000)
			}
		}
	}
	document.getElementById('tunMenu').style.width = anchoTotal + "px"
	menPrin()
}
var activo = false
window.onload=inicio
</script>
</HEAD>
<body>

<body>
<div id="tunMenu"></div>
</body>
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 13:03.