2012-11-14 4 views
0

나는 다시로드 할 수 있고 (문제 없음) Ajax 호출을 통해 호출 할 수있는 페이지가 있습니다.jQuery 동위 원소 - Ajax 페이지로드 및 초기화

isotope 플러그인의 초기화 코드를 $(document).ready에 입력하면 내 동위 원소 항목이 엉망입니다. $(window).load에서 모든 것이 잘 동작합니다.

Ajax을 통해 페이지를 호출 할 때 load 이벤트가 발생하지 않는 것이 문제입니다.

Ajax 콜백에 초기화를 넣을 때 $(document).ready과 같은 문제가 있습니다.

현재 해결 방법은 내 $(document).readysetTimeout입니다. 이것은 분명한 이유 때문에 좋은 해결책이 아닙니다.

멋진 솔루션에 대한 아이디어가 있습니까?

답변

4

ajax가 성공적으로로드되었는지 확인한 다음 동위 원소를 호출하십시오.

$.getScript("ajax.html", function(data,exception) { 
    if(exception === "success") 
    { 
     masonryBlocks(); 
    } 
}); 

function masonryBlocks(){ 
    $(function(){  
     var $container = $('#container'); 

     $container.isotope({ 
     itemSelector: '.box', 
     masonry: { 
      columnWidth: 1 
     } 
     }); 
    }); 
}