Código:
function resetPosition()
{
subPositioned.length = 0;
subPositioned_Public.length = 0;
}
function initLeftMenu()
{
var menuObj = document.getElementById('menu_publico');
var mainMenuItemArray = new Array();
var mainMenuItem = menuObj.getElementsByTagName('li')[0];
while(mainMenuItem){
if(mainMenuItem.tagName && mainMenuItem.tagName.toLowerCase()=='li'){
mainMenuItemArray[mainMenuItemArray.length] = mainMenuItem;
var aTag = mainMenuItem.getElementsByTagName('A')[0];
if(showSubOnMouseOver)
aTag.onmouseover = showSub;
else
aTag.onclick = showSub;
}
mainMenuItem = mainMenuItem.nextSibling;
}
var lis = menuObj.getElementsByTagName('a');
for(var no=0;no<lis.length;no++){
if(!showSubOnMouseOver)lis[no].onmouseover = stopAutoHide;
lis[no].onmouseout = initAutoHide;
lis[no].onmousemove = stopAutoHide;
}
for(var no=0;no<mainMenuItemArray.length;no++){
var sub = mainMenuItemArray[no].getElementsByTagName('ul')[0];
if(sub){
mainMenuItemArray[no].id = 'mainMenuItem' + (no+1);
var div = document.createElement('div');
div.className='dhtmlgoodies_subMenu_publico';
document.body.appendChild(div);
div.appendChild(sub);
if(slideDirection=='right'){
div.style.left = getLeftPos(mainMenuItemArray[no]) + mainMenuItemArray[no].offsetWidth + xOffsetSubMenu + 'px';
}else{
div.style.left = getLeftPos(mainMenuItemArray[no]) + xOffsetSubMenu + 'px';
}
div.style.top = getTopPos(mainMenuItemArray[no]) + 'px';
div.id = 'subMenuDiv' + (no+1);
sub.id = 'submenuUl' + (no+1);
sub.style.position = 'relative';
if(navigator.userAgent.indexOf('Opera')>=0){
submenuObjArray[no+1] = new Array();
submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray[no];
submenuObjArray[no+1]['divObj'] = div;
submenuObjArray[no+1]['ulObj'] = sub;
submenuObjArray[no+1]['width'] = sub.offsetWidth;
submenuObjArray[no+1]['left'] = div.style.left.replace(/[^0-9]/g,'');
}
sub.style.left = 1 - sub.offsetWidth + 'px';
if(document.all)div.style.width = '1px';
if(navigator.userAgent.indexOf('Opera')<0){
submenuObjArray[no+1] = new Array();
submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray[no];
submenuObjArray[no+1]['divObj'] = div;
submenuObjArray[no+1]['ulObj'] = sub;
submenuObjArray[no+1]['width'] = sub.offsetWidth;
submenuObjArray[no+1]['left'] = div.style.left.replace(/[^0-9]/g,'');
if(fixedSubMenuWidth)submenuObjArray[no+1]['width'] = fixedSubMenuWidth;
}
if(!document.all)div.style.width = '1px';
}
}
menuObj.style.visibility = 'visible';
}
function initLeftMenu1()
{
var menuObj1 = document.getElementById('menu_privado');
var mainMenuItemArray1 = new Array();
var mainMenuItem = menuObj1.getElementsByTagName('LI')[0];
while(mainMenuItem){
if(mainMenuItem.tagName && mainMenuItem.tagName.toLowerCase()=='li'){
mainMenuItemArray1[mainMenuItemArray1.length] = mainMenuItem;
var aTag = mainMenuItem.getElementsByTagName('A')[0];
if(showSubOnMouseOver)
aTag.onmouseover = showSub;
else
aTag.onclick = showSub;
}
mainMenuItem = mainMenuItem.nextSibling;
}
var lis = menuObj1.getElementsByTagName('A');
for(var no=0;no<lis.length;no++){
if(!showSubOnMouseOver)lis[no].onmouseover = stopAutoHide;
lis[no].onmouseout = initAutoHide;
lis[no].onmousemove = stopAutoHide;
}
for(var no=0;no<mainMenuItemArray1.length;no++){
var sub = mainMenuItemArray1[no].getElementsByTagName('UL')[0];
if(sub){
mainMenuItemArray1[no].id = 'mainMenuItem' + (no+1);
var div1 = document.createElement('DIV');
div1.className='dhtmlgoodies_subMenu_privado';
document.body.appendChild(div1);
div1.appendChild(sub);
if(slideDirection=='right'){
div1.style.left = getLeftPos(mainMenuItemArray1[no]) + mainMenuItemArray1[no].offsetWidth + xOffsetSubMenu + 'px';
}else{
div1.style.left = getLeftPos(mainMenuItemArray1[no]) + xOffsetSubMenu + 'px';
}
div1.style.top = getTopPos(mainMenuItemArray1[no]) + 'px';
div1.id = 'subMenuDiv' + (no+1);
sub.id = 'submenuUl' + (no+1);
sub.style.position = 'relative';
if(navigator.userAgent.indexOf('Opera')>=0){
submenuObjArray[no+1] = new Array();
submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray1[no];
submenuObjArray[no+1]['divObj'] = div1;
submenuObjArray[no+1]['ulObj'] = sub;
submenuObjArray[no+1]['width'] = sub.offsetWidth;
submenuObjArray[no+1]['left'] = div1.style.left.replace(/[^0-9]/g,'');
}
sub.style.left = 1 - sub.offsetWidth + 'px';
if(document.all)div1.style.width = '1px';
if(navigator.userAgent.indexOf('Opera')<0){
submenuObjArray[no+1] = new Array();
submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray1[no];
submenuObjArray[no+1]['divObj'] = div1;
submenuObjArray[no+1]['ulObj'] = sub;
submenuObjArray[no+1]['width'] = sub.offsetWidth;
submenuObjArray[no+1]['left'] = div1.style.left.replace(/[^0-9]/g,'');
if(fixedSubMenuWidth)submenuObjArray[no+1]['width'] = fixedSubMenuWidth;
}
if(!document.all)div1.style.width = '1px';
}
}
menuObj1.style.visibility = 'visible';
}
function initLeftMenu_public()
{
var menuObj_public = document.getElementById('menu_publico');
var mainMenuItemArray_public = new Array();
var mainMenuItem_public = menuObj_public.getElementsByTagName('LI')[0];
while(mainMenuItem_public){
if(mainMenuItem_public.tagName && mainMenuItem_public.tagName.toLowerCase()=='li'){
mainMenuItemArray_public[mainMenuItemArray_public.length] = mainMenuItem_public;
var aTag = mainMenuItem_public.getElementsByTagName('A')[0];
if(showSubOnMouseOver_Public)
aTag.onmouseover = showSub_Public;
else
aTag.onclick = showSub_Public;
}
mainMenuItem_public = mainMenuItem_public.nextSibling;
}
var lis_public = menuObj_public.getElementsByTagName('A');
for(var num=0;num<lis_public.length;num++){
if(!showSubOnMouseOver_Public)lis_public[num].onmouseover = stopAutoHide_Public;
lis_public[num].onmouseout = initAutoHide_Public;
lis_public[num].onmousemove = stopAutoHide_Public;
}
for(var num=0;num<mainMenuItemArray_public.length;num++){
var sub_public = mainMenuItemArray_public[num].getElementsByTagName('UL')[0];
if(sub_public){
mainMenuItemArray_public[num].id = 'mainMenuItem_public' + (num+1);
var div_public = document.createElement('DIV');
div_public.className='dhtmlgoodies_subMenu_public';
document.body.appendChild(div_public);
div_public.appendChild(sub_public);
if(slideDirection=='right'){
div_public.style.left = getLeftPos(mainMenuItemArray_public[num]) + mainMenuItemArray_public[num].offsetWidth + xOffsetSubMenu + 'px';
}else{
div_publilc.style.left = getLeftPos(mainMenuItemArray_public[num]) + xOffsetSubMenu + 'px';
}
div_public.style.top = getTopPos(mainMenuItemArray_public[num]) + 'px';
div_public.id = 'subMenuDiv' + (num+1);
sub_public.id = 'submenuUl' + (num+1);
sub_public.style.position = 'relative';
if(navigator.userAgent.indexOf('Opera')>=0){
submenuObjArray_Public[num+1] = new Array();
submenuObjArray_Public[num+1]['parentDiv'] = mainMenuItemArray_public[num];
submenuObjArray_Public[num+1]['divObj'] = div_public;
submenuObjArray_Public[num+1]['ulObj'] = sub_public;
submenuObjArray_Public[num+1]['width'] = sub_public.offsetWidth;
submenuObjArray_Public[num+1]['left'] = div_public.style.left.replace(/[^0-9]/g,'');
}
sub_public.style.left = 1 - sub_public.offsetWidth + 'px';
if(document.all)div_public.style.width = '1px';
if(navigator.userAgent.indexOf('Opera')<0){
submenuObjArray_Public[num+1] = new Array();
submenuObjArray_Public[num+1]['parentDiv'] = mainMenuItemArray_public[num];
submenuObjArray_Public[num+1]['divObj'] = div_public;
submenuObjArray_Public[num+1]['ulObj'] = sub_public;
submenuObjArray_Public[num+1]['width'] = sub_public.offsetWidth;
submenuObjArray_Public[num+1]['left'] = div_public.style.left.replace(/[^0-9]/g,'');
if(fixedSubMenuWidth_Public)submenuObjArray_Public[num+1]['width'] = fixedSubMenuWidth_Public;
}
if(!document.all)div_public.style.width = '1px';
}
}
menuObj_public.style.visibility = 'visible';
}
Resumiendo el codigo, he duplicado las funcionas las cuales cambiaban del menu publico al privado y ahora lo k me pasa es k :
si esta en el publico: me aparece bien.
si esta en el privado: me aparece el privado bien, pero el publico no me aparece el submenu.
He probado todas las formas y les cuento:
si cargo la pagina del privado(tiene privado+publico) y comento la linea q carga el menu privado, me aparece bien el menu publico.
Bueno gracias y un saludo