[根据评论重新编辑] jsfiddle 修改,删除了仅 css 的解决方案。诀窍是监视滑动元素的悬停状态并使用超时来允许用户在滑动元素上移动(另请参见更新的 jsfiddle 中的注释)。
jsfiddle 源自 OPs jsfiddle @here
使用您的#ids 的悬停功能:
function hover(e){
e = e || event;
var el = e.target || e.srcElement
,showel = $('#dvNotifications')
;
if (!/NotificationSummary/i.test(el.id)) {
showel .attr('data-ishovered',/over/i.test(e.type));
} else {
showel .attr('data-ishovered',false)
}
if (/true/i.test(showel .attr('data-ishovered'))){return true;}
if (/over$/i.test(e.type) && /NotificationSummary/i.test(el.id)){
showel .slideDown();
} else {
setTimeout(function(){
if (/false/i.test(showel .attr('data-ishovered'))) {
showel .slideUp();
showel .attr('data-ishovered',false);
}
}
,200);
}
}