2012-12-22 16 views
6

Başlamak istediğim, farenin imleç menüsü olmadığında elde edilmesidir, sistem aboutMenu'nun hoverde olup olmadığını kontrol edecektir, eğer evet ise, 'h' uyarısı ve 'nh' diğer uyarıları uyarır. Sorun, fare menü3'ü terk ettiğinde sadece bir kez kontrol edip, bu sorunu nasıl çözebiliriz? Teşekkürler.Bir kerelik kontrol yerine jquery/js yerine kontrol edin.

$('#menu3').live('mouseout',function() { 

$("#aboutMenu").hover(function() { 
    $(this).data("hovered", true); 
}, function() { 
    $(this).data("hovered", false); 
}); 

if ($("#aboutMenu").data("hovered")) { 
    alert ('h'); 
} else { 
    alert ('nh'); 
} 
}); 

Güncel:

Ya da bu sistemdir yapmak başka bir yol süpürdü, mesaj açılır değil eğer menu3 veya aboutMenu, süpürdü olup olmadığını kontrol etmeyi sürdürmek olduğunu. Ancak, bu sayfa başlatıldığında sadece bir kez çalışır, nasıl kontrol etmeyi sürdürür? teşekkürler

$(document).ready(function() { 
$("#aboutMenu,#menu3").hover(function() { 
$(this).data("hovered", true); 
}, function() { 
    $(this).data("hovered", false); 
}); 

if ($("#aboutMenu,#menu3").data("hovered")) 
alert ('hovered'); 
}); 
+3

neden moueout içinde hover ??? (bu mantıklı değil) –

+0

güncellenen soru, lütfen bir göz var – user782104

cevap

4
function checkHover() { 
    if ($("#aboutMenu,#menu3").hasClass("hovered")) { 
    alert ('hovered'); 
    //other stuff if hovered 
    } 
    else { 
    //other stuff if not hovered 
    } 
} 

$(document).ready(function() { 
    $("#aboutMenu,#menu3").hover(function() { 
    $(this).addClass("hovered"); 
    }, function() { 
    $(this).removeClass("hovered"); 
    }); 

    setInterval(checkHover, 1000); 
}); 
1

Periyodik olarak periyodik olarak kontrol etmek bir fikir olabilir mi?

function chkhover(){ 
    if ($('#aboutMenu').is(':hover')){ 
     alert('#aboutMenu hoverstate is: hovered'); 
    } 
    setTimeout(chkhover, 500); 
} 

$(document).ready(chkhover); 

Bkz. Bu jsfiddle. Bu arada, sadece bir css çözümü de gösteriyor.