2015-02-06 133 views
0

我正在建立一個產品,我想打開和關閉點擊,使用砌體。 我已經添加了onclick,但你可以看到 http://fi-testing.co.uk/zeffire-web/products.html 它的工作,但我有幾個問題。 1)他們都打開onclick而不是相關的一個2)他們調整時不重新調整(他們重疊)3)我希望他們慢慢打開。砌體網格onclick

我已經嘗試在.item函數中添加(仍然在代碼中)slideDown(600, masonryUpdate);以對緩慢移動進行排序,並重新更新砌體,但那沒有做任何事情。

這是全功能

$(document).ready(function(){ 
     $(".item").click(function(){ 
      $(".item").addClass("intro").slideDown(600, masonryUpdate); 
     }); 
    }); 

我已經使用這個http://masonry.desandro.com/appendix.html嘗試,但我是一個新手,所以不能確定在哪裏添加它,用「的onclick」部分對齊。

任何幫助將不勝感激?謝謝。

+1

我認爲您正在尋找:'$(this).addClass(「intro」)。slideDown(600,masonryUpdate);' – Last1Here 2015-02-06 11:10:03

+0

yes!那種1)。謝謝。 – RachJenn 2015-02-06 11:12:02

+0

我希望其他人在當前人打開後關閉,這可能嗎? – RachJenn 2015-02-06 11:15:49

回答

1

你必須這樣做

$(document).ready(function(){ 
    $(".item").click(function(){ 
     var a= $(this), b = a.parent(); 
     b.find(".intro").each(function(index){ 
      if(a !== $(this)) { 
       // close this element since it's not the clicked one 
       // $(this).slideUp() or $(this).addClass('close') if you have a custom class for closing elements 
      } 
     }); 
     a.addClass("intro").slideDown(600, masonryUpdate); 
    }); 
}); 
+0

感謝票價,這與Last1Here的評論類似,但我希望其他人在當前票單打開後關閉,您能幫忙嗎? – RachJenn 2015-02-06 11:14:18

+0

@RachJenn我剛剛編輯我的迴應,以滿足你想要的。試一試 – 2015-02-06 11:31:24

1

要解決問題1至處理您點擊事件處理裝有剛點擊的元素),你會做什麼,我評論

$(this).addClass("intro").slideDown(600, masonryUpdate);

爲2)和3)你需要做類似

$(document).ready(function(){ 
    $(".item").click(function(){ 
     $(".intro").animate({"height": 500}, "fast").removeClass("intro"); // reset previous elements 

     $(this).addClass("intro").slideDown("slow", function() { msnry.layout(); }); // refresh layout 
    }); 
});