2013-02-07 15 views
6

मेरे पास एक विकल्प-बॉक्स है जिसमें 4 विकल्प हैं, जिनमें से प्रत्येक का चयन वर्तमान में .item divs को हटाने और नए .items को लोड करने और फिर आइसोटोप का उपयोग करके उन्हें रीयलिन करना होगा।आइसोटोप AJAX लोड सामग्री के साथ काम नहीं कर रहा है

$('.menu-select').change(function(){ 
    var selected=$('.menu-select-option:selected').html().toLowerCase(); 
     if(selected=='all') 
      { 
       loadContent('mixed_home_all.html'); 
      } 
     if(selected=='recommended') 
      { 
       loadContent('mixed_home_reco.html'); 
      } 
     if(selected=='popular') 
      { 
       loadContent('mixed_home_pop.html'); 
      } 
}); 

loadContent समारोह इस तरह दिखता है:

function loadContent(filename){ 
     var $item=$('.item'); 
     $container.isotope('remove', $item); 
     $container.load(filename, function(){ 
      $container.imagesLoaded(function(){ 
       $container.isotope('reLayout'); 
      }); 
     }); 
    } 

किसी कारण से, reLayout काम नहीं कर रहा। कक्षा isotope-item या तो व्यक्तिगत वस्तुओं में जोड़ा नहीं जा रहा है। कंसोल लॉग में कोई त्रुटि नहीं है।

उत्तर

14

मैंने पिछले आइसोटोप को नष्ट करके और चयन बॉक्स में प्रत्येक मूल्य के लिए एक नया ट्रिगर करके इसे हल किया। मेरे loadContent समारोह इस तरह अब लग रहा है:

function loadContent(filename){ 
     var $item=$('.item'); 
     $container.isotope('destroy'); //destroying isotope 
     $container.load(filename, function(){ 
      $container.imagesLoaded(function(){ 
       $container.isotope({ //triggering isotope 
        itemSelector: '.item' 
       }); 
      }); 
     }); 
    } 
+0

हैलो मैं सफलतापूर्वक इस कोड अनुकूलित और अच्छी तरह से काम करता है, लेकिन मेरी छंटाई तत्वों को फिर से लोड करने के बाद काम नहीं कर रहा है ... हो सकता है कि तुम मुझे मेरा अनुरोध स्वीकार कर सकते हैं ... धन्यवाद! – vitaminasweb