2012-08-23 11 views
7

का उपयोग कर तत्व को छिपाने के बाद सभी तत्वों को पुनर्गठित करें। मैं एक ली छुपा रहा हूं और इसे छिपाने के बाद एचटीएमएल में एक अंतर बचा है और मैं चिनाई को फिर से लोड करना चाहता हूं और सामग्री को पुन: व्यवस्थित करना चाहता हूं। मैंने कोशिश की। चिनाई ('रीलोड') लेकिन मैंने काम नहीं किया। किसी भी मददjquery चिनाई

फिडल http://jsfiddle.net/emtBX/1/

जे एस

$(document).ready(function(){ 
       $('#container').masonry({ 
       // options 
       itemSelector : '.item', 
       columnWidth : 240, 

       isAnimated: true, 
        animationOptions: { 
        duration: 750, 
        easing: 'linear', 
        queue: false 
        } 
       }); 

       $('#butn1').click(function() { 

        $('#container ul li').eq(2).hide(); 
        $('#container').masonry('reload'); 

       }); 
      }); 
+0

ऐसा लगता है चिनाई आप आइटम पूरी तरह से दूर करने के लिए चाहता है की तरह: http://jsfiddle.net/emtBX/2/ – Blender

उत्तर

8

आप ली-तत्व को छिपाने और तत्वों को पुन: व्यवस्थित करने के लिए .item वर्ग को हटा सकते हैं, http://jsfiddle.net/emtBX/11/

$('#container ul li').eq(2) 
    .css({'visibility': 'hidden', 'display': 'none'}) 
    .removeClass("item masonry-brick"); 
+0

जवाब के लिए धन्यवाद। संगठित तरीके से छुपे तत्वों को वापस दिखाने का कोई तरीका है? – user1184100

+0

बस .item क्लास को वापस जोड़ें और तत्व को फिर से दिखाएं। http://jsfiddle.net/emtBX/15/ – anderssonola

+0

धन्यवाद आप ठीक काम करता है – user1184100

3

jQuery चिनाई ही "छुपाएं" नामक एक विधि है (http://masonry.desandro.com/methods.html#hide)

इस तरह इसका इस्तेमाल:

$('#container').masonry('hide', $('#container ul li').eq(2)).masonry(); 

पिछले चिनाई() कॉल आप क्या चाहते हैं करता है: "फिर से लोड" टाइल

+0

मई 2017 तक, यह अब और बात नहीं है। दस्तावेज़ीकरण पर इस विधि का कोई संदर्भ नहीं :( –

0

लुईस टिप्पणी का जवाब और v3 में समाधान खोजने वाले लोगों को जवाब देने के लिए v3 छुपा विधि में अब मौजूद नहीं है, आपको सिर्फ jquery के hide() विधि का उपयोग करना होगा और एक चिनाई लेआउट ट्रिगर करने के बाद। तो विचार hidding तत्वों के लिए है:

$('.something-to-hide').each(function(){ 
    $(this).hide(); 
}); 
$('.grid').masonry('layout'); //we assume grid is your class use to masonry container. 

तो छिपा तत्वों वापस दिखाने के लिए:

$('.class-for-all-elements').show() 
$('.grid').masonry('layout'); 

मेरे मामले में मैं पहले छिपाने के लिए यही वजह है कि मैं एक प्रयोग की गयी प्रत्येक कुछ खोज करने के लिए जोड़ने () समारोह।

स्टीफन

संबंधित मुद्दे