2015-10-22 107 views
0

我已將這個小提琴http://jsfiddle.net/onqn2gjj/4/調整爲淡出滾動條上的搜索欄,但是一旦搜索欄消失,我無法通過單擊搜索圖標將其取消。jquery fadeOut div無法淡入淡出

我該如何修改我的腳本來阻止這種情況的發生?

這裏是網站:http://uwinat.o2clite.com/

感謝

jQuery(document).ready(function($) { 
$(window).scroll(function() { 

if ($(this).scrollTop()>0) 
{ 
    $('.search').fadeOut(); 
} 
else 
{ 
    $('.search').fadeIn(); 
} 
    }) 
}); 
+0

發佈你的代碼與搜索欄dom元素 – brk

+0

好了,對不起。 – Nicole

+0

我會說滾動事件多次發射正在做一些奇怪的動畫隊列。您可能希望將動畫排隊一次,並停止任何尚未完成的動畫。 – MinusFour

回答

0

是因爲滾動你是隱藏的元素的父

你可以在這裏看到:http://screencast.com/t/zrnNrbeI

如果你修復它會工作:http://screencast.com/t/H2m7K1636VER

注意

我也建議更換您使用反跳爲你滾動事件......由它的滾動事件自會殺了你的表現......在UnderscoreJS庫有一個好。

也嘗試使用css動畫代替jquery。你應該總是避免使用JavaScript動畫...

+0

這只是jQuery'fadeOut'動畫。它激活不透明度,最後它將'display'設置爲'none'。 – MinusFour

+0

嗨MinusFour,一旦搜索圖標再次點擊,我可以再次顯示它嗎?或者整個事情有更好的腳本?基本上刪除向下滾動搜索欄,並點擊使其再次出現?我非常感謝 – Nicole

+0

我尼科爾,檢查上面的截圖,這是顯示你什麼是錯的...你不能看到搜索欄,因爲你滾動時隱藏父容器 –