В приведенном ниже коде элемент # testnav1 появляется при зависании над # admin1.
Я хочу, чтобы иметь возможность скрывать # testnav1, когда мышиные элементы BOTH, а не только один или другой. В основном, его часть выпадающего меню, в котором # testnav1 отображается слева от элемента # admin1, зависает.
<script>
$(function() {
$("#admin1").hover(function() {
var x = $(this).offset();
var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
$("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();
});
});
</script>
Попробуй это,
$("#admin1").hover(function() {
var x = $(this).offset();
var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
$("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();
},function(){
$("#testnav1").hide();// hide the element on mouse leave
});
обновленный
var flagAdmin=false;var flagTestNav=false;
$("#testnav1").mouseleave(function(){
flagTestNav=true;
hideTestNav();
})
$("#admin1").hover(function() {
flagAdmin=false;flagTestNav=false;
var x = $(this).offset();
var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
$("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();
},function(){
flagAdmin=true;
hideTestNav();
});
function hideTestNav(){
if(flagAdmin==true && flagTestNav==true)
{
$("#testnav1").hide();// hides only if both admin and testnav mouse-leaves
}
}