私が管理しているサイトには、クリックするとその下のドロップリストにフェードインするこのスタイルのリンクがあり、ユーザーがジャンルを選択できるようになっています。
フェードが完全に機能しています。私が直面している問題は、ドロップダウンリストに入らずにスタイル付きリンクからホバーした場合にドロップダウンリストを非表示にできるように、ドロップダウンリストがホバーされたかどうかを判断しようとすることです。
したがって、ドロップダウンリストがフェードインし、ユーザーがドロップダウンされた要素に入らない場合、要素はフェードアウトしますが、ユーザーがドロップダウンされた要素に入ると (フェードインをトリガーするクリックされたリンクを残したまま)、ドロップしますdown は、ドロップダウン要素を離れるまで表示されたままにする必要があります。
これが私がこれまでに持っているコードです:
$('#categories_link').live('click mouseleave', function(e){
$('.categories').fadeIn(200, function(){
$(this).live('mouseenter mouseleave', function(evnt){
switch(evnt.type) {
case "mouseenter":
$(this).stop(true, true)
$(this).data('visible', true)
break;
case "mouseleave":
$(this).data('visible', false)
break;
}
})
if(e.type == 'mouseleave') {
if($('.categories').data('visible'))
return;
else
$('.categories').fadeOut(200)
}
})
})