0
我正在研究一個用戶界面模塊:搜索窗體顯示/隱藏取決於用戶是否已經懸停在目標區域,或仍然有焦點在輸入文本字段。我只是有另一個調整關注...焦點懸停jQuery停止動畫
我想能夠取消動畫(如淡出),如果我碰巧懸停在目標區域。目前,stop()似乎並沒有完成這項工作。
提示非常感謝。 TIA
這裏的演示:
當前腳本:
var topbar_search_hotspot = $('form[role="search"]');
var topbar_search_hideshow = $('form[role="search"] .row');
function fadeOutSearch() {
var element = $('#s');
if (!element.hasClass("focus") && !element.hasClass("hover") && element.val() == "") {
$('form[role="search"] .row:visible').fadeOut("slow");
}
}
topbar_search_hotspot.blur(function() {
topbar_search_hideshow.removeClass("focus");
setTimeout(fadeOutSearch, 1000);
}).focus(function() {
$(this).addClass("focus");
});
topbar_search_hideshow.hide();
topbar_search_hotspot.hover(function() {
if (topbar_search_hideshow.is(':animated')) {
topbar_search_hideshow.stop().animate({opacity:'100'});
} else {
topbar_search_hideshow.fadeIn("slow");
}
}, function(e) {
setTimeout(fadeOutSearch, 1000);
topbar_search_hotspot.removeClass("hover");
});
topbar_search_hotspot.hover(function() {
$(this).addClass("hover");
$('#s').focus();
}, function(){
setTimeout(fadeOutSearch, 1000);
$(this).removeClass("hover");
});
它似乎仍然通過w/the fadeout。只需將鼠標懸停在灰色區域內即可複製該行爲。 – piku 2013-04-07 04:46:15