Foros del Web » Programando para Internet » Javascript »

menu multinivel no funciona en IE

Estas en el tema de menu multinivel no funciona en IE en el foro de Javascript en Foros del Web. hola que tal gente muchas gracias por tomarte la molestia de ver el post te explico baje un script de menus multinivel lo adapte a ...
  #1 (permalink)  
Antiguo 12/05/2009, 12:03
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
menu multinivel no funciona en IE

hola que tal gente muchas gracias por tomarte la molestia de ver el post te explico baje un script de menus multinivel lo adapte a mi web en opera y firefox me sale super bn el menu todo bonito pero en explorer me sale de esta manera
http://img2.imageshack.us/img2/5673/intrat.jpg

es decir cuando me pongo sobre el primer item el menu me sale hasta arriba
cosa q recalco no pasa en firefox ni opera

am creo q es mucho codigo pero bueno asi es mi javascript
Cita:
function mmLoadMenus() {
if (window.mm_menu_0413115333_0) return;
window.mm_menu_0413115333_0 = new Menu("root",200,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413115333_0.addMenuItem("Misión- Visión- Valores","location='misvisval.php'");
mm_menu_0413115333_0.addMenuItem("Organigrama General","location='oficinas.html'");
mm_menu_0413115333_0.addMenuItem("Reglamento","loc ation='empresa.html'");
mm_menu_0413115333_0.addMenuItem("Manuales","locat ion='clientes.html'");
mm_menu_0413115333_0.addMenuItem("Perfil de Abogado","location='contacto.html'");
mm_menu_0413115333_0.addMenuItem("Código de Ética","location='contacto.html'");
mm_menu_0413115333_0.addMenuItem("Historia","locat ion='contacto.html'");
mm_menu_0413115333_0.addMenuItem("Objetivos por departamento","location='contacto.html'");
mm_menu_0413115333_0.fontWeight="bold";
mm_menu_0413115333_0.hideOnMouseOut=true;
mm_menu_0413115333_0.bgColor='#555555';
mm_menu_0413115333_0.menuBorder=1;
mm_menu_0413115333_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413115333_0.menuBorderBgColor='#777777';
window.mm_menu_0413115619_0 = new Menu("root",100,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413115619_0.addMenuItem("CYA General","location='NotPub.html'");
mm_menu_0413115619_0.addMenuItem("Notarías 13 y 30","location='AsesJurid.html'");
mm_menu_0413115619_0.addMenuItem("Notaría 30","location='ContratConv.html'");
mm_menu_0413115619_0.addMenuItem("Notaría 13","location='FiscFinan.html'");
mm_menu_0413115619_0.addMenuItem("Corporativo","lo cation='DerInmob.html'");
mm_menu_0413115619_0.fontWeight="bold";
mm_menu_0413115619_0.hideOnMouseOut=true;
mm_menu_0413115619_0.bgColor='#555555';
mm_menu_0413115619_0.menuBorder=1;
mm_menu_0413115619_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413115619_0.menuBorderBgColor='#777777';
window.mm_menu_0413115909_0 = new Menu("root",130,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413115909_0.addMenuItem("Arancel General","location='AbogNot30.html'");
mm_menu_0413115909_0.addMenuItem("Presupuestos Tipo","location='AbogNot13.html'");
mm_menu_0413115909_0.addMenuItem("Criterios","loca tion='AbogCorp.html'");
mm_menu_0413115909_0.fontWeight="bold";
mm_menu_0413115909_0.hideOnMouseOut=true;
mm_menu_0413115909_0.bgColor='#555555';
mm_menu_0413115909_0.menuBorder=1;
mm_menu_0413115909_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413115909_0.menuBorderBgColor='#777777';
window.mm_menu_0413120034_0 = new Menu("root",200,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413120034_0.addMenuItem("Criterios Internos de Notaría","location='noticias.html'");
mm_menu_0413120034_0.addMenuItem("Documentos de Apoyo","location='publicaciones.html'");
mm_menu_0413120034_0.addMenuItem("Requisitos para Escrituras","location='publicaciones.html'");
mm_menu_0413120034_0.fontWeight="bold";
mm_menu_0413120034_0.hideOnMouseOut=true;
mm_menu_0413120034_0.bgColor='#555555';
mm_menu_0413120034_0.menuBorder=1;
mm_menu_0413120034_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413120034_0.menuBorderBgColor='#777777';

window.mm_menu_0413120147_0 = new Menu("root",150,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413120147_0.addMenuItem("Grupo Julio Traconis");
mm_menu_0413120147_0.addMenuItem("Grupo Javier Sauza");
mm_menu_0413120147_0.addMenuItem("Grupo Roberto Fernández");
mm_menu_0413120147_0.addMenuItem("Grupo Eduardo Gutiérrez");
mm_menu_0413120147_0.addMenuItem("Grupo Rafael Castro");
mm_menu_0413120147_0.addMenuItem("Grupo de Vivienda");
mm_menu_0413120147_0.addMenuItem("Corporativo");
mm_menu_0413120147_0.addMenuItem("Ratificaciones") ;
mm_menu_0413120147_0.fontWeight="bold";
mm_menu_0413120147_0.hideOnMouseOut=true;
mm_menu_0413120147_0.bgColor='#555555';
mm_menu_0413120147_0.menuBorder=1;
mm_menu_0413120147_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413120147_0.menuBorderBgColor='#777777';
window.mm_menu_0413120306_0 = new Menu("root",150,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413120306_0.addMenuItem("RFC Sociedades","location='ligas.html'");
mm_menu_0413120306_0.addMenuItem("Avaluos","locati on='ligas.html'");
mm_menu_0413120306_0.addMenuItem("ISAI","location= 'ligas.html'");
mm_menu_0413120306_0.addMenuItem("Pago ISR","location='ligas.html'");
mm_menu_0413120306_0.addMenuItem("Avisos Preventivos","location='ligas.html'");
mm_menu_0413120306_0.addMenuItem("Solicitud de Permiso SRE","location='ligas.html'");
mm_menu_0413120306_0.addMenuItem("Avisos de Poderes","location='ligas.html'");
mm_menu_0413120306_0.addMenuItem("Avisos de Testamentos","location='ligas.html'");
mm_menu_0413120306_0.fontWeight="bold";
mm_menu_0413120306_0.hideOnMouseOut=true;
mm_menu_0413120306_0.bgColor='#555555';
mm_menu_0413120306_0.menuBorder=1;
mm_menu_0413120306_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413120306_0.menuBorderBgColor='#777777';



window.mm_menu_0413120035_0 = new Menu("root",130,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
mm_menu_0413120035_0.addMenuItem("Tecnotips","loca tion='noticias.html'");
mm_menu_0413120035_0.addMenuItem("Mesa de Ayuda","location='publicaciones.html'");
mm_menu_0413120035_0.addMenuItem("Manuales Ténicos","location='publicaciones.html'") ;
mm_menu_0413120035_0.fontWeight="bold";
mm_menu_0413120035_0.hideOnMouseOut=true;
mm_menu_0413120035_0.bgColor='#555555';
mm_menu_0413120035_0.menuBorder=1;
mm_menu_0413120035_0.menuLiteBgColor='#FFFFFF';
mm_menu_0413120035_0.menuBorderBgColor='#777777';

mm_menu_0413120306_0.writeMenus();
} // mmLoadMenus()

y asi es como lo tomo en las imagenes

Código PHP:
<img src="intranet/BtnManualOrg.jpg" name="image1" width="200" height="25" id="image1" onmouseover="MM_showMenu(window.mm_menu_0413115333_0,134,0,null,'image1')" onmouseout="MM_startTimeout();" /> 
no se que pueda estar pasando con el IE
me es importante pues la mayoria usa este explorador gracias!!
por si sirve
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>CyA Net.- Intranet de Cámara y Asociados</title><style type="text/css">
<!--
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #012C5F;
}
.style4 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #012C5F;
font-size: 14px;
}
-->
</style>
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #2 (permalink)  
Antiguo 12/05/2009, 15:37
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

hola q tal pues he seguido probando q pueda ser pense q era el IE 6 pero tmb probe en el 7 y hace lo mismo me sale descuadrado por faavor si alguien me puede ayudar
mil gracias si necesitan mas info me avisan saludines!!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #3 (permalink)  
Antiguo 12/05/2009, 16:23
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

Cita:
Menu("root",200,16,"Verdana, Arial, Helvetica, sans-serif",10,"#204482","#FFFFFF","#D1DADF","#000084", "left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
alguna de estas propiedaddes le indica q se ponga hasta arriba??
por favor ayudenme
ya me desespere
odio IE :(
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #4 (permalink)  
Antiguo 12/05/2009, 16:42
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

Cita:
var menu = container.menus[x];
menu.menuItemWidth = menu.menuWidth || menu.menuIEWidth || 140;
if( menu.menuBgOpaque ) menuLayer.style.backgroundColor = menu.menuBorderBgColor;
var top = 0;
var left = 0;
menu.menuItemLayers = new Array();
for (var i=0; i<container.menus[x].items.length; i++) {
var l = FIND("menuItem" + menuCount);
l.Menu = container.menus[x];
l.Menu.menuItemLayers[l.Menu.menuItemLayers.length] = l;
if (l.addEventListener || window.mmIsOpera) {
l.style.width = menu.menuItemWidth + 'px';
l.style.height = menu.menuItemHeight + 'px';
l.style.pixelWidth = menu.menuItemWidth;
l.style.pixelHeight = menu.menuItemHeight;
l.style.top = top + 'px';
l.style.left = left + 'px';

tendra algo q ver alguna coordenada por favor ayuda!!!
eso es del archivo
mm_menu.js


Cita:
function getExplorerVersion() {
var ieVers = parseFloat(navigator.appVersion);
if( navigator.appName != 'Microsoft Internet Explorer' ) return ieVers;
var tempVers = navigator.appVersion;
var i = tempVers.indexOf( 'MSIE ' );
if( i >= 0 ) {
tempVers = tempVers.substring( i+5 );
ieVers = parseFloat( tempVers );
}
return ieVers;
}
plis ayuda!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D

Última edición por harvestmoon; 12/05/2009 a las 16:48
  #5 (permalink)  
Antiguo 13/05/2009, 08:17
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

por favor ayudenme una idea lo q se les ocurra plis!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #6 (permalink)  
Antiguo 14/05/2009, 07:47
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

en fin pues no encontre como modificar para q no me saliera hasta arriba el menu y pues a aunke no keria jeje tuve q recurrir al css saludos y pues gracias a los q leyeron
saludines
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #7 (permalink)  
Antiguo 14/05/2009, 08:40
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: menu multinivel no funciona en IE

Cita:
Iniciado por harvestmoon Ver Mensaje
alguna de estas propiedaddes le indica q se ponga hasta arriba??
tal parece que si pero segun el codigo que has brindado es dificil confirmarlo. en todo caso la unica posibilidad que se me ocurre es que cada item del menu debe tener el estilo position relative y cada subitem position absolute.
  #8 (permalink)  
Antiguo 14/05/2009, 10:57
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

Cita:
tal parece que si pero segun el codigo que has brindado es dificil confirmarlo. en todo caso la unica posibilidad que se me ocurre es que cada item del menu debe tener el estilo position relative y cada subitem position absolute.
pero se lo pongo cuando llamo a la funcion??
o en donde?
perdona soy malisima para diseño
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #9 (permalink)  
Antiguo 14/05/2009, 11:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: menu multinivel no funciona en IE

se lo puedes poner a tu hoja de estilo si ya tienes alguno. sino tendras que crear uno. pienso que a~nadirlo en cada item es mas tedioso. de ser posible sube tus documento a la web y muestranos un link.
  #10 (permalink)  
Antiguo 14/05/2009, 11:32
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: menu multinivel no funciona en IE

gracias mira encontre un codigo segun yo "mas sencillo" pero de nuevo el maldito explorer no me deja hacer nada
!!!
este es la parte de configuracion
Cita:
No tocar a partir de aquí */
var tunIex=navigator.appName=="Microsoft Internet Explorer"?true:false;
if(tunIex && navigator.userAgent.indexOf('Opera')>=0){tunIex = false}
var Opera = navigator.userAgent.indexOf('Opera')>=0 ? true : false;
var manita = tunIex ? 'hand' : 'pointer'
var subOps = new Array()
function construye(){
cajaMenu = document.createElement('ul')
cajaMenu.style.width = anMenu + "px"
cajaMenu.style.zIndex = 1
cajaMenu.style.marginLeft = 0
cajaMenu.style.paddingLeft = 0
document.getElementById('me').appendChild(cajaMenu )
for(m=0; m < totalMen; m++){
opchon = eval('Op_'+m)
boton = document.createElement('li')
boton.style.marginLeft = 0
boton.style.paddingLef = 0
boton.style.listStyleType = 'none'
boton.style.position = 'relative'
boton.style.zIndex = (100 - m)
boton.className = 'botones'
boton.style.cursor = manita
boton.id = 'op_' + m
if(opchon.enl){
lin = document.createElement('a')
lin.className = 'enlacesmenu'
lin.href = opchon.enl
if(opchon.dest){
lin.target = opchon.dest
}
boton.appendChild(lin)
lin.appendChild(document.createTextNode(opchon.tex ))
}
else{
boton.appendChild(document.createTextNode(opchon.t ex))
}
boton.onmouseover = function(){
mostrar(this)
}
boton.onmouseout=function(){
ocultar(this)
}
cajaMenu.appendChild(boton)
if(opchon.subOp > 0 ){
espan = document.createElement('span')
espan.style.position = 'absolute'
espan.style.right = 0
boton.style.backgroundImage = imaflecha
boton.style.backgroundPosition = 'center right'
boton.style.backgroundRepeat = 'no-repeat'
espan.className = 'espan'
boton.appendChild(espan)
subOps[subOps.length] = boton.id.replace(/o/,"O")
}
}
if(subOps.length >0){subMes()}
}
function subMes(){
lar = subOps.length
for(t=0;t<subOps.length;t++){
opc =eval(subOps[t])
for(v=0;v<opc.subOp;v++){
if(eval(subOps[t] + "_" + v + ".subOp") >0){
subOps[subOps.length] = subOps[t] + "_" + v
}
}
}
construyeSub()
}
function construyeSub(){
for(y=0; y<subOps.length;y++){
opchon = eval(subOps[y])
capa = document.createElement('ul')
capa.className = 'subMe'
capa.style.width = opchon.an + "px"
capa.style.visibility = 'hidden'
capa.style.position = 'absolute'
capa.style.marginLeft = 0
capa.style.paddingLeft = 0
document.getElementById(subOps[y].toLowerCase()).firstChild.nextSibling.appendChild (capa)
for(s=0;s < opchon.subOp; s++){
sopchon = eval(subOps[y] + "_" + s)
opc = document.createElement('li')
opc.style.marginLeft = 0
opc.style.paddingLeft = 0
opc.style.listStyleType = 'none'
opc.className = 'botones'
opc.id = subOps[y].toLowerCase() + "_" + s
if(sopchon.enl){
lin = document.createElement('a')
lin.className = 'enlacesmenu'
lin.href = sopchon.enl
if(sopchon.dest){
lin.target = sopchon.dest
}
opc.appendChild(lin)
lin.appendChild(document.createTextNode(sopchon.te x))
}
else{
opc.appendChild(document.createTextNode(sopchon.te x))
}
capa.appendChild(opc)
opc.style.cursor = manita
opc.onmouseover = function(){
mostrar(this)
}
opc.onmouseout=function(){
ocultar(this)
}
if(sopchon.subOp > 0 ){
espan = document.createElement('span')
espan.style.position = 'absolute'
espan.style.right = 0
opc.style.backgroundImage = imaflecha
opc.style.backgroundPosition = 'center right'
opc.style.backgroundRepeat = 'no-repeat'
espan.className = 'espan'
opc.appendChild(espan)
}
}
}
}
function mostrar(cual){
if(Opera || (document.styleSheets.length > 0 && !document.styleSheets[0].disabled)){
if(tunIex){cual.className = 'botonesHover'}
if(cual.childNodes.length > 1){
cual.firstChild.nextSibling.firstChild.style.visib ility = 'visible'
}
}
}
function ocultar(cual){
if(Opera || (document.styleSheets.length > 0 && !document.styleSheets[0].disabled)){
if(tunIex){cual.className = 'botones'}
if(cual.childNodes.length > 1){
cual.firstChild.nextSibling.firstChild.style.visib ility = 'hidden'
}
}
}
function enlace(cual){
enla = eval('O' + cual.substr(1)).enl
targ = eval('O' + cual.substr(1)).dest
if(targ && targ.toLowerCase() == '_blank'){
window.open(enla,'','')
}
else{
location.href = enla
}

}
onload = construye
</script>
<style type="text/css">
<!--
.botones {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
background-color: #7a8dbf;
border: thin solid #7a8dbf;
margin: 1px;
padding: 1px;
text-align: center;
display: block;
}
.botones:hover {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
background-color: #bb7476;
border: thin solid #006699;
margin: 1px;
padding: 1px;
display: block;
text-decoration: none;
text-align: center;
}
.botonesHover {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
background-color: #bb7476 ;
border: thin solid #006699;
margin: 1px;
padding: 1px;
display: block;
text-decoration: none;
text-align: center;
}
a.enlacesmenu{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
text-decoration: none;
text-align: center;
display: block;
}
a.enlacesmenu:hover{
text-decoration: none;
color: #993333;
}
.subMe{
border: 1px solid #993333;
background-color: #ffffff;
}
.espan{
width: 5px;
height: 3px;
}
.style4 { font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #012C5F;
font-size: 14px;
}
body {
margin-top: 0px;
margin-bottom: 0px;
}

-->
</style>
le movi lo q dice padding para q se hiciera mas chikito pues necesito ver en resolucion de 1024 (cosas de mi jefe) pero o por dios !! en explorer no me lo respeta ademas no kiero q salgan scroll



http://img404.imageshack.us/img404/710/explorerg.jpg

y miren q chulo me lo pone en opera

http://img404.imageshack.us/img404/5695/dibujovuh.jpg

asi chikito sin scroll
pero no entiendo es como si explorer hiciera caso omiso de "kiero las celdas del menu mas chikitas!!!"

por favor no me ignoren sinceramente no se q mas hacer
saludos!!
y mil gracias!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
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 08:46.