2010-10-31 188 views
0

有一個圖像列表作爲導航。當你將鼠標懸停在他們身上時,透明背景的div就會滑落。當你將鼠標懸停在幻燈片上時。jQuery懸停動畫和點擊問題

那部分像魅力一樣喚起。

現在,當您點擊圖片或標題時,帶標題的div會將其不透明度更改爲1,並移至圖片的頂部並獲得100%的高度。

問題是當我徘徊標題div隱藏一次。所以我怎樣才能停止點擊懸停效果?

我已經試過類似的問題的解決方案,但沒有得到工作..我對jQuery很新,所以任何幫助appriciated。

這裏是到目前爲止的代碼與嘗試使用.unbind:

var thumbslide = $('.boxgrid.captionfull').hover(
    function() { //Hover over 
     $(this).children('.cover').stop().animate({'top':'130px'},{queue:false,duration:350}); 
    },function() { //Hover out 
     $(this).children('.cover').stop().animate({'top':'230px'},{queue:false,duration:350}); 
    } 
    ).click(function() { 
     $(this).children('.cover').stop().animate({'top':'0px', height:"230px", opacity:"1"},{queue:false,duration:350}).unbind('mouseleave'); 
}); 

回答

0

這是因爲你解除了綁定兒童,而不是你正在的元素。重新安排這樣的:

$(this).unbind('mouseleave').children('.cover').stop().animate({'top':'0px', height:"230px", opacity:"1"},{queue:false,duration:350}); 
+0

這是一個聰明的舉動。謝謝你的提示。但是現在當我點擊另一個項目時,點擊狀態仍然存在。所以在這種情況下,我想我必須再次綁定點擊? – tobiasmay 2010-10-31 23:53:30

+0

@tobiasmay - 試試這個,不得不跑,所以現在不能測試,但應該工作:http://jsfiddle.net/nick_craver/snAae/ – 2010-11-01 00:19:30

+0

感謝您的快速回答,但不幸的是,類「點擊」保持,一旦div被點擊。 – tobiasmay 2010-11-01 02:11:29

0

,你可以簡單的檢查懸停出widht或不透明......

你做

懸停出函數內部
if($(this).children('.cover').css('opacity')!=1){ 
$(this).children('.cover').stop().animate({'top':'230px'},{queue:false,duration:350}); 
} 
+0

嗯..作品,以及八九不離十的方式應該..但是當我將鼠標懸停在點擊的元素它會以動畫方式對國家第一懸停。它保持在頂部,當我點擊另一個元素。 – tobiasmay 2010-11-01 00:02:26