| |||
Hola, He probado tu generador y es fantastico, te felicito. El caso es que me gustaria modificar algo, he intentado poner una imagen de fondo y no me deja, no se por que, es que no se puede? en que clase la pongo?, no me aclaro con las clases. Y otra cosa que es la mas importante, le he puesto un alto de 25 pero no me deja centrar el texto de los menus en vertical, osea se me queda pegado arriba, como lo puedo centrar? Si me puedes hechar una mano te lo agradeceria mucho mucho Gracias |
| |||
Felicidades Tunait por tu trabajo, realmente es muy bueno. Queria preguntarte si exite la version de menus verticales (barra de navegacion), ya que eso realmente lo que estoy buscando. Felicidades nuevamente por la calidad de tu programa. Bernardo |
| ||||
Hola bcuadra Gracias por tus comentarios. Pues el script sí que existe, lo que no lo tengo adaptado al generador ni tampoco siguiera publicado sin generador y funciona sólo sin frames. Si lo quieres para trabajar sin frames dímelo y veo de publicarlo aunque sea para que lo configures a mano. Un saludo |
| ||||
Hola revivo este tema porque la duda que tengo es sobre un menú de este generador. El problema es que cuando le pongo un doctype (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">) se deja de ver la primera línea en el navegador iexplorer. Hasta ahora me daba igual quitaba el doctype y se veía bien, pero ahora necesito ponerlo porque estoy haciendo la web en CSS y sino no funciona. Una imagen vale mas que mil palabras. Arriba en el explorer, abajo en Firefox. ¿Qué puedo hacer para seguir usando el menú? Gracias Saludos |
| ||||
Problemilla con el link a un iframe Estimada tunait, estoy practicando con tu maravilloso GENERADOR DE MENUS y quiero que los enlaces de los submenús me salgan en una capa de la misma página. A tal fin, cuando estoy configurando el menú en tu página indico el link y le pongo como destino a una iframe que he llamado subV es decir en el target pongo subV pero no consigo que me salga el contenido en esa iframe ya que me da un error y me dice que el nombre de la página, por ejemplo 'contacto' no está definido. He probado indicando como target "nueva" para abrirlos en una página nueva y no tengo problema por lo que la ruta a las distintas páginas que deseo mostrar en la iframe está bien definida. Espero me puedas ayudar. MIL GRACIAS.
__________________ <<<<<<<<>>>>>>>> Algo tiene que cambiar. ¿ O NO ? <<<<<<<<>>>>>>>> |
| |||
Buen intento.. Buen intento , aunque existen algunas observaciones con respecto a la experiencia de usuario.... Mientras tanto yo sigo trabajando con OpenCube no es gratuito pero es el mejor que he encontrado..... |
| ||||
Cita: Estupendo andrews, me parece fenomenal que el mejor que has encontrado sea otro pero, si te fijas, este tema trata sobre un script concreto y no de "menús desplegables en el mercado". Tu comentario lo encuentro, cuanto menos, fuera de lugar.
Iniciado por andrews Buen intento , aunque existen algunas observaciones con respecto a la experiencia de usuario.... Mientras tanto yo sigo trabajando con OpenCube no es gratuito pero es el mejor que he encontrado..... Ya has regado los foros bastante sugiriendo ese software y me parece que ya ha quedado claro sin necesidad de venir a decirlo también a este post. Saludos |
| ||||
Sub opciones Hola, soy nuevo en esto del javascript y tengo una duda. Puede que no tenga mucho que ver pues aquí se habla del menú desplegable, pero como el contráctil también lo ha hecho Tunait: En el menú contráctil que se muestra en la web de Tunait (no pngo vínculo porque no me dejan), quiero poner sub-sub-opciones es decir: Opción 1 SubOpción 1.1 SubSubOpcion 1.1.1 SubOpción 1.2 Opción 2 SubOpción 2.1 SubSubOpción 2.1.1 SubSubSubOpción 2.1.1.1 He intentado seguir la estructura:
Código:
Cuando lo visualizo con el IE hago clic en Opción 1 y se despliega Opción 1.1, pero cuando hago clic sobre esta no ocurre nada. ¿Por qué pasa esto?¿Cómo lo puedo arreglar?var anchoMenu = 200 //anchura del menú var secciones = 2 // cantidad de secciones principales var Menu_0 = new Array('Opción 1',null,null,2) var Menu_0_1 = new Array('Opción 1.1',null,null,1) var Menu_0_1_0 = new Array('Opción 1.1.1',null,null,0) CONTINÚA... Gracias P.D. Los generadores de menús están chulísimos, sigue así Tunait. |
| ||||
Hola sumolari Bueno, el caso del menú contráctil es que sólo soporta un sub-nivel y no contempla más, por eso el resto los ignora. Lo más parecido al contráctil que más de un sub-nivel que tengo es el menú en arbol, tal vez cambiándole los estilos css logres que se parezca al contráctil y tendrás múltiples subniveles. Un saludo |
| |||
Estimada tunait Entiendo que dentro de las reglas de comportamiento del foro no existe ninguna donde se establezca que el usuario no puede expresar lo que piensa, ya que de eso se trata porque si colocamos un post y esperamos recibir críticas positivas y rechazamos las negativas entonces no coloquemos ningun post ya que nadie tiene la misma lógica ni pensamiento y mucho menos está en la obligación de estar de acuerdo con algo, cuando no lo está.... Si hablo de ese producto es porque estos se han comportado a la altura pues, sin tener la certeza de que voy a comprar el producto me han prestado AYUDA y ASESORIA, que lamentablemente AQUI no recibí. Por mi parte este tema está cancelado y cerrado. Exitos.... |
| ||||
Cita: Hola de nuevo andrews
Iniciado por andrews Si hablo de ese producto es porque estos se han comportado a la altura pues, sin tener la certeza de que voy a comprar el producto me han prestado AYUDA y ASESORIA, que lamentablemente AQUI no recibí. Entiendo por dónde vienen los tiros pero debes comprender que en estos foros la ayuda que se presta es desinteresada y no con la esperanza de que alguien tal vez compre o no compre un producto. Nadie tiene obligación de ayudar a nadie y si no obtuviste ayuda aquí en los foros cuando la solicitaste pues qué bueno que la pudiste obtener de parte de personas que lo hicieron durante su horario laboral (es lo que se espera de ellos cuando se pretende vender un producto) No sé qué crítica, positiva o negativa puedas haber aportado a este post pues lo único que has hecho ha sido recomendar un producto que te parece el mejor. Supongo que estarás de acuerdo conmigo en que, al tema que se está tratando, poco o nada aporta, ni bueno ni malo; simplemente, no aporta nada. Si tienes algo más que decirme te ruego lo hagas por la vía privada para no continuar desviando el tema. Gracias y saludos |
| |||
imagenes en menu Hola Tunait. Antes que nada felicidades por el programita. Esta pero que muy bien. Me gustaria saber si hay alguna manera de incluir imagenes en los menus. Estaba pensando concretamente en poner una flecha en los epigrafes que tienen submenu para indicarlo. He visto que ya te lo han pedido antes en un post pero no he visto la respuesta. Muchas gracias y felicidades de nuevo |
| ||||
¿Compatible con frames? Hola otra vez Tunait y todos los que vean (o mejor dicho lean) mi pregunta. He estado probando ha hacer webs con frames (marcos). Probando probando me ha gustado y he pensad: "Esto de los marcos es una buena idea, haré mi web así". Y me he puesto a trabajar en la idea. Al cabo de un rato me he visto con un problema: Mi web se divide en tres marcos, uno horizontal en la parte superior (con el logotipo), uno vertical en la parte derecha que contiene el menú (como antes, el contráctil) y uno que ocupa casi el 80% de la página, con lo que variará ( es decir, quier que se mantengan los dos primeros marcos (el logotipo y el menú) y que cambie el que queda). Pero el problema que tengo es: ¿cómo le digo al menú que quiero que abra los vínculos en el marco "principal"? He probado con: var Menu = new Array ('Opción A','opcionA','principal') y con var Menu = new Array ('Opción A','opcionA','target="principal"') Alguna forma habrá de hacerlo ¿no? Por cierto, yo no he probado el menu con frames, ese si que acepta el <target> ¿no? Gracias por leeros mi rolo y por ayudarme. |
| ||||
¿Error en el menú con frames? Hola de nuevo a todos/as. He estado probando el generador de menús con frames, y cuando he acabado de rellenar los campos y he hecho clic en "generar". Ha aparecido mi menu (como de constumbre), pero inmediatamente me ha dado un error en la memoria y no he podido usar bien el menú. Luego he copiado el código del menú para ver si el fallo no era del menú sino de otra cosa y lo he pegado en el frontpage. Cuando he visto la vista principal me ha dado muchísimos errores sobre las linias 350-370. ¿Qué puede haber pasado? |
| ||||
Cita: Hola maloweb
Iniciado por maloweb Me gustaria saber si hay alguna manera de incluir imagenes en los menus. Estaba pensando concretamente en poner una flecha en los epigrafes que tienen submenu para indicarlo. He visto que ya te lo han pedido antes en un post pero no he visto la respuesta. Actualmente no existe la opción de mostrar una imagen en los menús con subopciones. Tengo en mente el hacer una revisión y mejora general del menú y lo de la fecha es algo que puedo incluir. Lamentablemente no dispongo del tiempo que quisiera para dedicarle así que no creo que pueda ponerme antes de, al menos, un par de meses pero descuida que cuando esté listo avisaré en este post Un saludo |
| ||||
Cita: Hola sumolari
Iniciado por sumolari ¿cómo le digo al menú que quiero que abra los vínculos en el marco "principal"? He probado con: var Menu = new Array ('Opción A','opcionA','principal') Esa es la forma correcta de pedirlo ¿has verificado que coincidan mayúsculas y minúsculas con el nombre del frame? |
| ||||
Cita: No te fíes de lo que pueda decir frontpage. Pruébalo siempre en el navegador directamente. Si el navegador te sigue dando los mismos errores puede que haya pasado algo al recibir ese error de memoria.
Iniciado por sumolari Hola de nuevo a todos/as. He estado probando el generador de menús con frames, y cuando he acabado de rellenar los campos y he hecho clic en "generar". Ha aparecido mi menu (como de constumbre), pero inmediatamente me ha dado un error en la memoria y no he podido usar bien el menú. Luego he copiado el código del menú para ver si el fallo no era del menú sino de otra cosa y lo he pegado en el frontpage. Cuando he visto la vista principal me ha dado muchísimos errores sobre las linias 350-370. ¿Qué puede haber pasado? |
| ||||
El error es persistente Hola de nuevo: He probado de nuevo con el generador. Esta vez no he tenido ningún error de mamoria ni nada. He copiado el código que habia en el cuadro de texto y lo he pegado. El frontpage me ha dado este error:
Código:
. He tenid este error en las linias 332 y 319. Después he visto el resultado en el IE y he visto tres palabras separadas por un par de espacios. ¿Qué pasa?Line 61 Error: 'marco.document' no es un objeto o es nulo Les pongo el código si lo quieren ver:
Código:
Quito la parte "configurable" var anchoOp = 100 var menuPrin = 2 var Fram = 'menu' posicion = 'bottom' //si se quiere que el menú principal esté pegado a la parte inferior de la página centrado = true //true si se quiere centrado el menú principal 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 }
Código:
var marco=eval('parent.'+Fram); var tunIex=navigator.appName=="Microsoft Internet Explorer"?true:false; var tiempo function menucete(ide,num){ // crea submenus principales (capa) espan = marco.document.createElement("span") marco.document.getElementById('Men_'+num).appendChild(espan) espan.id=ide.toLowerCase(ide)+'_'+num espan.className="subMe" espan.cierra = true espan.tiempo = 0 espan.onmouseout=function(){ setTimeout('ocultaP()',1000) } with(espan.style){ width = anchoOp+"px" } construye(ide+'_'+num,eval('Op_'+num).subO) } function menPrin(){ //crea menu principal hojaEstilos = marco.document.createElement('link') hojaEstilos.href='menudesp.css' hojaEstilos.rel='stylesheet' hojaEstilos.type='text/css' marco.document.documentElement.firstChild.appendChild(hojaEstilos) menuP=marco.document.createElement('div') if(!tunIex){ tablaP = marco.document.createElement('table') menuP.appendChild(tablaP) fila=marco.document.createElement('tr') fila.id ='filita' tablaP.appendChild(fila) if(centrado && !tunIex){ tablaP.style.marginLeft='auto' tablaP.style.marginRight='auto' } tablaP.cellSpacing='0' tablaP.className='celda' } marco.document.body.appendChild(menuP) menuP.className = "subMeP" menuP.id = 'MenuPrincipal' menuP.style.visibility='hidden' menuP.style.position='absolute' menuP.style.top= '-5px' for(s=0; s<menuPrin; s++){ //crea botones principales if(!tunIex){opcionP=marco.document.createElement('div')} else{opcionP=marco.document.createElement('span')} opcionP.className = "botonesP" opcionP.style.width= anchoOp+'px' marco.document.getElementById('MenuPrincipal').appendChild(opcionP) opcionP.id='Men_'+s opcionP.onclick=function(){ } if(!tunIex){ celda = marco.document.createElement('td') marco.document.getElementById('filita').appendChild(celda) celda.id='celda_' + s celda.appendChild(opcionP) celda.className='celda' } if(eval('Op_'+s).subO > 0){ menucete('Op',s) } } if(centrado && tunIex){ centra() } } var subs=new Array(0) function construye(ide,num){ subOp=0 for(m=0; m<num; m++){ opchon = eval(ide +'_' + m) caja = marco.document.createElement("div") boton = marco.document.createElement("div") boton.appendChild(caja) caja.className='Caj' marco.document.getElementById(ide.toLowerCase()).appendChild(boton) identi = ide.toLowerCase() + "_" + m caja.id=identi+'caja' boton.id = identi boton.className = 'botones' marco.document.getElementById(identi).appendChild(marco.document.createTextNode(opchon.tex)) salto = marco.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 = marco.document.createElement("div") boton = marco.document.createElement("div") boton.appendChild(caja) caja.className='Caj' marco.document.getElementById(ide.toLowerCase()+'_sub').appendChild(boton) identi = ide.toLowerCase() + "_" + m boton.id = identi caja.id=identi+'caja' boton.className = 'botones' marco.document.getElementById(identi).appendChild(marco.document.createTextNode(opchon.tex)) salto = marco.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) espan = marco.document.createElement("span") marco.document.getElementById(subs[t]+'caja').appendChild(espan) espan.id=subs[t]+'_sub' espan.className="subMe" espan.cierra = true marco.document.getElementById(subs[t]).onmouseover=function(){ this.className = 'botonesHover' this.parentNode.cierra=false muestra(this.id+'_sub') } marco.document.getElementById(subs[t]).onmouseout=function(){ this.className = 'botones' this.parentNode.cierra = true oculta(this.id+'_sub') } espan.onclick=function(){ } if(eval(obj).an){An=eval(obj).an} else{An=anchoOp} if(eval(obj).dir=='iz') {pIz=-(An-20)+"px"} else{pIz=(An-20)+"px";} with(espan.style){ position="absolute" width = An+"px" left= pIz if(!tunIex){top='-10px'} visibility = 'hidden' } construye2(obj,eval(obj).subO) subs[t] = null } } } function enlaces(enl,dstn){ if(dstn.toLowerCase() == 'nueva'){ window.open(enl) } else if(dstn==null){ top.location.href=enl } else{ eval('parent.' + dstn+".location.href='"+enl+"'") } } function muestra(cual){ marco.document.getElementById(cual).style.visibility='visible' } function oculta(cual){ marco.document.getElementById(cual).style.visibility='hidden' } function ocultaP(){ for(y=0;y < menuPrin;y++){ if(marco.document.getElementById('op_'+y)!=null){ if(marco.document.getElementById('op_'+y).cierra){ marco.document.getElementById('op_'+y).style.visibility='hidden' } } } } var reaj=0 function centra(){ anM=(anchoOp*menuPrin)+(4*menuPrin)+reaj posCentra =anM/2 document.getElementById('MenuPrincipalP').style.width=anM+'px' marco.document.getElementById('MenuPrincipal').style.width=anM+'px' document.getElementById('MenuPrincipalP').style.left='50%' marco.document.getElementById('MenuPrincipal').style.left='50%' document.getElementById('MenuPrincipalP').style.marginLeft=-posCentra marco.document.getElementById('MenuPrincipal').style.marginLeft=-posCentra reAjusta() } function reAjusta(){ if((document.getElementById('tuMen0').scrollHeight*2)< document.getElementById('MenuPrincipalP').scrollHeight){reaj+=2; centra()} } function inicio(){ //////////////////////////////////////////// menuP=document.createElement('div') if(!tunIex){ tablaP = document.createElement('table') menuP.appendChild(tablaP) fila=document.createElement('tr') fila.id ='filitaP' tablaP.appendChild(fila) if(centrado && !tunIex){ tablaP.style.marginLeft='auto' tablaP.style.marginRight='auto' } tablaP.cellSpacing='0' tablaP.className='celda' } document.body.appendChild(menuP) menuP.className = "subMeP" menuP.id = 'MenuPrincipalP' if(posicion=='bottom'){ menuP.style.position='absolute' menuP.style.bottom='0' } for(s=0;s < menuPrin; s++){ //crea botones principales if(!tunIex){opcionP=document.createElement('div')} else{opcionP=document.createElement('span')} opcionP.className = "botones" opcionP.style.width= anchoOp+'px' if(eval('Op_'+s).subO==0){ opcionP.hijos = false opcionP.style.cursor=cur } else{opcionP.hijos=true;opcionP.style.cursor='default'} opcionP.appendChild(document.createTextNode(eval('Op_'+s).tex)) document.getElementById('MenuPrincipalP').appendChild(opcionP) opcionP.id='tuMen'+s opcionP.enl=eval('Op_'+s).enl opcionP.dstn=eval('Op_'+s).dstn opcionP.onclick=function(){ } if(!tunIex){ 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(marco.document.getElementById('op_'+this.id.substr(5))==null && this.hijos==true){menPrin()} if(marco.document.getElementById('op_'+this.id.substr(5))!=null){ clearTimeout(tiempo) marco.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(marco.document.getElementById('op_'+this.id.substr(5))!=null){ marco.document.getElementById('op_'+this.id.substr(5)).cierra=true tiempo =setTimeout('ocultaP()',1000) } } if(eval('Op_'+n).subO==0 && eval('Op_'+n).enl!=null){ document.getElementById('tuMen'+n).onclick=function(){ enlaces(this.enl,this.dstn) } } } menPrin() } window.onload=inicio //******** fin de no tocar ***************** </script> |
| ||||
Cita: Tres palabras separadas por espacios? no entiendo ... ¿ya le has puesto también la hoja de estilos?Después he visto el resultado en el IE y he visto tres palabras separadas por un par de espacios. ¿Qué pasa? Lo mejor que puedes hacer es colgarlo en internet para poder echarle un ojo en marcha Un saludo |
| ||||
He hecho otro Gracias por acordármelo. Se me olvidó lo de la hoja de estilos, pero he creado otro. En este si que está la hoja de estilos (menudesp.css) y me sigue sin funcionar . Ahora lo "cuelgo" en internet. La dirección es 3W.geocities.com/jaume930713/frames/menuframes/ Siento que sea una dirección tan larga, pero estoy a punto de comprar un dominio... |
| ||||
Problema solucionado. Queridísima tunait el problema que te comentaba se soluciona aplicando las correcciones que indica Derkenuke unos post antes: " En la funcion enlaces faltan unas comillas alrededor de enl en el ultimo eval" Funciona a la perfección. Muchas gracias maestra.
__________________ <<<<<<<<>>>>>>>> Algo tiene que cambiar. ¿ O NO ? <<<<<<<<>>>>>>>> |
| ||||
Hola de nuevo. He vuelto a probar lo del target con el menú contrátil. Tengo el problemita de siempre, sólo que esta vez el frontpage me ha dado un error el la linia 156 (este error aparece cuando hago clic en la opción que tiene el vínculo). El error dice: 'parent.principal.html.location' es nulo o no es un objeto. Está linia y las 5 de arriba y abajo dice:
Código:
¿Qué puede pasar? location.href=donde[1] } else{ eval('parent.' + marco + '.location.href="' + donde[1] + '"') }} } /********** hasta aquí *************/ </script> <style type="text/css"> .subMeTabla{ /*tabla de submenú*/ width: 100%; |