Autor Zpráva
Beduin
Profil *
Ahoj. Snažím se vyřešit v jQuery vysouvací submenu. Při najetí na menu se zobrazí login_panel. Při odjetí by se měl zase schovat, ale jen v případě, že jsem zrovna nenajel na ten login_panel.

Problém je v tom, že se napřed provede událost mouseout u menu a teprve potom mouseover u login_panelu. Takže otázka zní, jak mám prohlížeč donutit poznat, že jsem na login_panel najel nebo ne, ještě dřív, než ho zase schová?

var nech_zobrazene = false;

$(document).ready(function(){

  $("#login_panel").mouseover(function(){
    nech_zobrazene = true;
  }); 
  $("#login_panel").mouseout(function(){
    
  }); 

  $("#menu").mouseover(function(){
      $("#login_panel").show();
  });
  $("#menu").mouseout(function(){
      alert(nech_zobrazene);
      //$("#login_panel").hide();
  }); 
  
});
soucekgns
Profil
a nechybí ti tam něco jako
function Show()    {
  login_panel.style.visibility="visible";
}
function Hide() {
  login_panel.style.visibility="hidden";
}

a pak už jen stačí dát do ostatních divů okolo onmouseover="javascript: Hide();"
a do menu onmouseover="javascript: Show();"

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: