2014-02-14 2 views
0


Я пытаюсь использовать ajax для wordpress (правильно jQuery .load()), но у меня есть проблема, потому что после изотопа загрузки страницы не работает. У кого-нибудь есть идея, как это решить?
Спасибо!
Вот весь мой код:Изотоп после jquery.load()

var $j = jQuery.noConflict(); 

//Isotope 
$j(document).ready(function($){ 
    $j('#container').isotope({ 
      itemSelector: '.thumbportfolio', 
      layoutMode: 'fitRows'  
      }); 
    }); 

$j(document).ready(function(){ 
    $j('#filters a').click(function(){ 
     var selector = $j(this).attr('data-filter'); 
     $j('#container').isotope({ filter: selector }); 
     return false; 
}); 
}); 

/* AJAX */ 
$j(function() { 
    var $mainContent = $j("#content"), 
    URL = '', 
    siteURL = "http://" + top.location.host.toString(), 
    $internalLinks = $j("a[href^='"+siteURL+"']"), 
    hash = window.location.hash, 
    $ajaxSpinner = $j("#content"), 
    $el, $allLinks = $j("a"); 

    $internalLinks.each(function(){ 
     $j(this).attr("href", "#" + this.pathname); 
    }).click(function($){ 
     $ajaxSpinner.fadeIn(); 
     $mainContent.animate({"opacity": "0.1"}); 
     $el = $j(this); 
     $j(".current_page_item").removeClass("current_page_item"); 
     URL = $el.attr("href").substring(1); 
     URL = URL + " #content"; 
     $allLinks.removeClass("current_link"); 
     $mainContent.load(URL, function(){ 
      $el.addClass("current_link").parent().addClass(".current_page_item"); 
      /*$ajaxSpinner.fadeOut();*/ 
      $mainContent.animate({ opacity: "1"}); 
     }); 
    }); 
}); 
+1

внутри нагрузки() обратного вызова, не могли вы переинициализировать изотоп? –

+0

Я чувствую себя таким глупым в этом случае, почему я еще не думал об этом? Btw, действительно спасибо, что вы сделали мой день :) –

+0

PS: Вы знаете, как изменить новые ссылки, загруженные тоже? Потому что я бы применил ajax по ссылке, которую я загрузил в «загруженный контент» :) –

ответ

1

Я решил так:

/* AJAX */ 
$j(function() { 
    var $mainContent = $j("#content"), 
    URL = '', 
    siteURL = "http://" + top.location.host.toString(), 
    $internalLinks = $j("a[href^='"+siteURL+"']"), 
    hash = window.location.hash, 
    $ajaxSpinner = $j("#content"), 
    $el, $allLinks = $j("a"); 

    $internalLinks.each(function(){ 
     $j(this).attr("href", "#" + this.pathname); 
    }).click(function($){ 
     $ajaxSpinner.fadeIn(); 
     $mainContent.animate({"opacity": "0.1"}); 
     $el = $j(this); 
     $j(".current_page_item").removeClass("current_page_item"); 
     URL = $el.attr("href").substring(1); 
     URL = URL + " #content"; 
     $allLinks.removeClass("current_link"); 
     $mainContent.load(URL, function(){ 
      $el.addClass("current_link").parent().addClass(".current_page_item"); 
      /*$ajaxSpinner.fadeOut();*/ 
      $mainContent.animate({ opacity: "1"}); 
      $j('#container').isotope({ 
        itemSelector: '.thumbportfolio', 
        layoutMode: 'fitRows'  
      }); 
      $j('#filters a').click(function(){ 
       var selector = $j(this).attr('data-filter'); 
       $j('#container').isotope({ filter: selector }); 
       return false; 
      });  
     }); 
    }); 
}); 
Смежные вопросы