在我正在管理的一个站点中,我有这个样式的链接,单击它会在它下面的下拉列表中淡入淡出,以便用户可以选择一个流派。
我的淡入淡出效果很好,我遇到的问题是试图确定下拉列表是否悬停,以便如果用户悬停在样式链接之外而不进入下拉列表,我可以隐藏它。
因此,下拉列表淡入,用户不输入下拉的元素,然后元素淡出,但是,如果用户输入下拉的元素(同时留下触发淡入的点击链接)然后下拉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)
}
})
})