Программирование > JavaScript & JScript

ПОЧЕМУ меню в IE работает, а в NN нет!?

(1/1)

assessor.ru:
Прошу помочь. В IE нижеприведенное всплывающее меню работает, в NN нет. Т.е. меню не всплывает. Пробую в IE6.0 и NN6.2
------------------------------------






var ie4, nn4, nn6;
var rX, lX, tY, bY;
var zi=100;
ie4 = nn4 = nn6 = 0;
if(document.all)
{ie4=1; document.body.onmousemove=updateIt;}
if(document.layers)
{nn4=1; window.captureEvents(Event.MOUSEMOVE); window.onmousemove=updateIt;}
if(document.getElementById&&!ie4)
{nn6=1; document.body.onmousemove=updateIt;}

function dropit(e,oIEorNN6s,sOneNN,xMenu){
if(ie4){
   oneIE = oIEorNN6s;
   if (window.themenu&&themenu.id!=oneIE.id)
           themenu.style.visibility="hidden";
           themenu=oneIE;
      themenu.style.left=document.body.scrollLeft+event.clientX-event.offsetX;
      themenu.style.top=document.body.scrollTop+event.clientY-event.offsetY+15;
      lX=themenu.style.posLeft-document.body.scrollLeft;
      rX=lX+themenu.offsetWidth;
      tY=themenu.style.posTop-document.body.scrollTop-25;
      bY=themenu.offsetHeight+tY+25;
      if (themenu.style.visibility=="hidden"){
         themenu.style.visibility="visible";
         themenu.style.zIndex=zi++;
      }
   }
   if(nn4){
      if (window.themenu&&themenu.id!=eval(sOneNN).id)
         themenu.visibility="hide";
      themenu=eval(sOneNN);
      if (themenu.visibility=="hide")
         themenu.visibility="show";
      themenu.zIndex++;
      themenu.left=e.pageX-e.layerX;
      themenu.top=e.pageY-e.layerY+14;
      lX=themenu.left;
      rX=lX+themenu.clip.width;
      tY=themenu.top-25;
      bY=themenu.top+themenu.clip.height;
      return false;
   }
   if(nn6){
      oneNN = document.getElementById(oIEorNN6s); //eval(sOneNN);
      if (window.themenu&&themenu.id!=oneNN.id)
         themenu.style.visibility="hidden";
      themenu=oneNN;
      themenu.style.left=xMenu;
      themenu.style.top=146;
      lX=parseInt(themenu.style.left);
      rX=lX+themenu.offsetWidth;
      tY=parseInt(themenu.style.top);
      bY=themenu.offsetHeight+tY+25;
      if (themenu.style.visibility=="hidden"){
         themenu.style.visibility="visible";
         themenu.style.zIndex=zi++;
      }
   }
}
function hidemenu (whichone){
   if(ie4) hidemenu1 (whichone);
   if(nn6) hidemenu3();
   if(nn4) hidemenu2();
}
function hidemenu1(whichone){
   if(window.themenu)
      themenu.style.visibility="hidden";
   hidemenu2();
}
function hidemenu2(){
   if(typeof(themenu)!="undefined")
      themenu.visibility="hide";
}
function hidemenu3(){
   if (themenu.style.visibility=="visible")
      themenu.style.visibility="hidden";
}
function updateIt(oneIE){
   var x,y
   if(ie4){x=window.event.clientX;
      y=window.event.clientY;
      if(x>rX || xbY+1 || yrX || xbY+1 || yrX || xbY || y

Макс:
assessor.ru
напиши автору скрипта. Эту кучу куда врятле кто захочет разбирать.

assessor.ru:
Пока сам не займешся, вряд ли кто-то пошевелится. Раз мне надо, значит делай сам. Вот выделил пару дней, заработало меню и в Нетскейпе. Особо-то и не нужно было. Просто несколько "нетскейповцев" жаловались, что меню не работает и навигация неудобна.
--------------------------------------
Изменил для nn6

themenu.style.top=146;

на

themenu.style.top=82;
--------------------------------------
Это не влияло на работу, просто чтобы меню выводилось с определеной позиции от верха экрана. А у меня шапка верха высотой 82 пикселя.
--------------------------------------
Изменил для nn6

themenu.style.left=xMenu

на

themenu.style.left=xMenu  -  200;
--------------------------------------

Когда захочешь, любая программа заработает, тем более что программирую с 1977 года еще с ламповых ЭВМ.

Работу меню можно посмотреть у меня на www.assessor.ru

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии