2012-05-12 53 views
4

這可能會變得複雜,所以我會盡力解釋我的情況盡我所能。jQuery功能無法滾動(AJAX)後與砌體

我使用這個jQuery插件http://www.infinite-scroll.com/砌築一起:http://masonry.desandro.com/

一切工作正常。

但是,當您將鼠標懸停在某篇文章上時,我正試圖提供與每篇文章相關的一些信息。這是我的代碼:

$(".main").hover(function(){ 
    $(this).next(".info").slideToggle("fast"); 
}); 

這隻適用於第一頁的內容,而不是無限滾動加載的額外內容。

所以我嘗試添加的功能,我的磚石代碼回調:

// trigger Masonry as a callback 
function(newElements) { 
    // hide new items while they are loading 
    var $newElems = $(newElements).css({opacity: 0}); 
    // ensure that images load before adding to masonry layout 
    $newElems.imagesLoaded(function(){ 
     // show elems now they're ready 
     $newElems.animate({opacity: 1}); 
     $container.masonry('appended', $newElems, true); 
    }); 
    $(".main").hover(function(){ 
     $(this).next(".info").slideToggle("fast"); 
    });  
}); 

(原諒我,如果我這樣做完全錯了,我從來沒有使用Ajax的工作前,我只是嘗試)

這使得懸停功能對無限滾動加載的新的額外內容起作用,然而它與原始內容衝突。

那麼,實現我的懸停功能的最佳方式是什麼,以便在Ajax調用之前和之後加載的所有帖子都能正常工作?

謝謝。


編輯:

$(document).on("click",".main",function(){ 
    $(this).next(".info").slideToggle("fast"); 
}); 

http://api.jquery.com/on/

我會離開這裏原來的問題櫃面有人用類似的問題,發現它:

通過改變我的方法,這個問題解決了有用。

+2

爲了紀念這個問題的解決,你應該回答你的問題,然後將其標記爲已接受。不要將編輯的答案置於疑問之中。 – Imp

+0

@Imp我嘗試過,但我沒有足夠的聲望去做。 – Harry

+0

我想你只需要等一下... –

回答

0
$(document).on("click",".main",function(){ 
    $(this).next(".info").slideToggle("fast"); 
});