2013-02-07 10 views
6

Mam pole wyboru, które zawiera 4 opcje, z których każda spowoduje usunięcie wszystkich obecnych .item elementów div i załadowanie nowego .items, a następnie ponowne ustawienie ich za pomocą izotopu.Izotop nie działa z załadowaną ajaxową treścią

funkcja
$('.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 wygląda następująco:

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

z jakiegoś powodu, reLayout nie działa. Klasa isotope-item również nie jest dodawana do poszczególnych elementów. W dzienniku konsoli nie ma błędu.

Odpowiedz

14

Rozwiązałem to, niszcząc poprzedni izotop i uruchamiając nowy dla każdej wartości w polu wyboru. Moja loadContent funkcja wygląda to teraz:

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

Witam powodzeniem dostosować ten kod i działa dobrze, ale mój sortowania nie działa po ponownym elementy ... Może mi helo ... Dzięki! – vitaminasweb

Powiązane problemy