2011-12-12 86 views
0

OLD CODE鼠標懸停鼠標移開和使用jQuery的問題與輸入字段

我有一個問題,當我在我的「#搜尋」分區然後滑動它像我應該做的,鑽的問題是,當它的幻燈片它會顯示一個搜索輸入字段,當鼠標移過該輸入字段時,它開始運行鼠標輸出函數,我已經停止了這一點,只要將一個if鼠標放在帶有空函數的#search輸入上,但是當我的鼠標離開輸入和「#搜索」潛水它不會運行動畫返回功能。

這裏是我的腳本

$("#search").mouseover(function(){ 
    $(this).animate({"left": "0px"}, 500); 
}); 
$("#search").mouseout(function(){ 
    if($("#search input").mouseover()){ 
     return false 
     } 
    else { 
    $(this).animate({"left": "-282px"}, 500); 
    } 
}); 

我該怎麼辦錯了嗎?還是有人有解決方案?我是新來的jQuery所以剛開始學習:)和我搜索谷歌和最後2天的文件,也許它只是我這是盲目的,這就是爲什麼我需要你的幫助:

編輯:NEW CODE & JS FIDDLE

我需要做不同的搜索條,所以我只是再次做了代碼,現在需要點擊語句。在的jsfiddle

看看這裏

http://jsfiddle.net/D7s45/2/

這是jQuery的我想創造:)

回答

0
var t, isout=true; 
$("#search").children("form").children().mouseover(function() { 
    clearTimeout(t); isout = false; 
}); 

$("#search").children("form").children().mouseout(function() { 
    isout = true; 
    tout = setTimeout(function() { $("#search").animate({ "left": "-282px" }, 500); }, 100); 

}); 

$("#search").mouseover(function() { 
    if (isout) $(this).animate({ "left": "0px" }, 500); 
    clearTimeout(t); isout = false; 
}); 

$("#search").mouseout(function() { 
    isout = true; tout = setTimeout(function() { $("#search").animate({ "left": "-282px" }, 500); }, 100); 
}); 
+0

你好阿什坎,即時獲取語法錯誤,當我嘗試它,我沒有得到任何超過我的Seach的功能? – Nopzen

+0

我已經在我的項目中完成了這個方法,它完美地工作。我在這裏寫了它,而不是從我的項目中複製,可能是語法錯誤。讓我看看它並糾正它。我會讓你知道的。 –

+0

現在再試一次。當然,我並不完全瞭解你的項目,你可能需要做一些改變。 –

0

嘗試徘徊在輸入時,在停止傳播:

$("#search input").hover(function(e) { 
    e.stopPropagation(); 
}, function(e) { 
    e.stopPropagation(); 
}); 

您的常規代碼爲#搜索div應該正常運行。

+0

Landons,我如何將我的動畫放到該代碼中,就像我說過的IM還是很新的:p因此不知道如何將我的代碼設置爲您的代碼? – Nopzen

+0

不完美,但接近:http://jsfiddle.net/cDmJu/ – landons

+0

你的意思是不完美但接近?我做的新jsfiddle或?因爲在那個jsfiddle我得到了問題,它不會再關閉:( – Nopzen