2012-12-22 26 views
6

जब मैं माउस को मेनू 3 में नहीं रखा जाता है, तो यह जांचना जारी रखेगा, सिस्टम जांच करेगा कि मेनू के बारे में बताया गया है, यदि हां, तो चेतावनी 'एच', और चेतावनी 'एनएच' अन्य वाइस। समस्या यह है कि यह केवल एक बार जांचता है जब माउस मेनू 3 छोड़ देता है, इस समस्या को कैसे ठीक किया जाए? धन्यवाद।jquery/js में एक बार की जांच के बजाय स्थिति की जांच जारी रखें

$('#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'); 
} 
}); 

अपडेट किया गया:

या इस प्रणाली है करने के लिए अन्य तरीके से जाँच menu3 या aboutMenu hovered है या नहीं, अगर नहीं, आगे पीछे करता संदेश पॉपअप है रखना है। हालांकि, यह केवल एक बार चलाएगा जब पेज प्रारंभ होता है, इसे कैसे जांचना है? धन्यवाद

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

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

क्यों मॉउउट में होवर होवर ??? (यह भावना-इमो नहीं बनाता है) –

+0

अद्यतन प्रश्न, कृपया एक नज़र डालें – user782104

उत्तर

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

क्या यह समय-समय पर होवरस्टेट की जांच करना एक विचार होगा?

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

$(document).ready(chkhover); 

यह jsfiddle देखें। यह वैसे भी एक सीएसएस-केवल समाधान का प्रदर्शन करता है।