最初のレベルのメニュー項目がli要素で、2番目のレベルが独自のli要素を持つulブロックである単純なメニューを作成しようとしています。本当に明るいものはありません。 Cssにはすべてのサブメニューでdisplay:noneが含まれていました。私の(楽観的)考え方は、mouseoverがSUBmenu(ul要素)で発生したときにマウスオーバーが発生したときに適切なul要素を表示し、私は何が起こったのか理解するためにいくつかの問題があります。 Firefoxではすべてがうまく動作しています:最初のレベルメニューに入力 - サブメニューに入る - サブメニューから終了すると、適切なイベントシーケンスがトリガーされたことが示されます:menuOn subMenuOn subMenuOff menuOff。なぜ私はIEで同じイベントシーケンスsubMenuOff突然subMenuOnの後にトリガーされて理解できません:結果は、サブメニューがすぐに消えているということです。カップル(subMenuOn subMenuOff)がトリガーされて同じ時間にサブメニューを無効にするようなものです。マウスオーバーまたはマウスセンターを使用して変更はありません。ホバーを使用しても状況は変わりません。何が起こったのか考えてみましょうか?これはコードです:Jqueryメニュー:mouseover/mouseout moseenter/mouseleave craziness
$(document).ready(
function(){
enableMenu();
}
);
var flagOnSubMenu = false;
function enableMenu(){
$('li.menu').bind('mouseenter', menuOn);
$('li.menu').bind('mouseleave', menuOff);
$('ul.sottomenu').bind ('mouseenter', subMenuOn);
$('ul.sottomenu').bind ('mouseleave', subMenuOff);
}
function menuOn(){
scrivi('menuOn');
if (flagOnSubMenu){
scrivi('noAction');
return;
}
var subMenuId;
$('ul.sottomenu').hide();
subMenuId = $(this).find("ul").attr('id');
$('#' + subMenuId).show();
}
function menuOff(){
scrivi('menuOff<br>');
return;
}
function subMenuOn(){
scrivi('subMenuOn');
flagOnSubMenu = true;
}
function subMenuOff(){
scrivi('subMenuOff');
flagOnSubMenu = false;
$(this).hide();
}
function scrivi(arg){
$('#debug').html($('#debug').html() + ' ' + arg);
}
それについてはわかりません。子要素に移動するときに問題を解決するはずのホバー機能も使用しました。動作しませんでした。 – Daniel