
27/03/2009, 11:21
|
| | Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 16 años 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ú 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>
|