2012-07-07 2 views
2

나는 일하고있는 WordPress의 테마에 jquery 벽돌을 사용하고 있습니다.Wordpress 및 imagesLoaded와 jQuery 벽돌

 <script type="text/javascript"> 
     jQuery(function() { 
      jQuery('#masonry-wrap').masonry({ 
      itemSelector: '.masonry-box', 
      columnWidth: 283 
      }); 
     }) 
     </script> 

그러나 크롬과 사파리에서 사이트를 확인 ... 나를 위해 잘 작동하는 것 같군 다음에 포함 된 요소의 바닥을 밀어 : 잠시 동안 작동하도록을 받고 고민 한 후 나는이 것을 발견 요소들 ...

어딘가에서, 이것은 imagesLoaded 플러그인과 여기에서 찾은 코드를 사용하여 해결할 수 있습니다 : http://masonry.desandro.com/demos/images.html - 그러나 jQuery에는 절대적으로 끔찍한 점이있어서 조금 어려움을 겪고 있습니다. 그것을 얻는 것.

누구든지 내가 이미 사용하고있는 코드에 통합 할 수 있습니까? (위의 코드는 작동합니까?)

도움을 주시면 대단히 감사하겠습니다. 줄리안

답변

3

나는 이것이 당신을 위해 일해야한다고 생각합니다;

// Masonry Trigger 
var $container = jQuery('#masonry-wrap'); 

$container.imagesLoaded(function(){ 
    $container.masonry({ 
    itemSelector: '.masonry-box', 
    columnWidth: 283 
    }); 
}) 

이 imagesLoaded의 최신 버전을 사용해야합니다, 나는 잠시 다시 문제가 있었고, 그 이유는 내 버전은 약간 유효 기간이었다.

편집 내가 AJAX를 통해 새로운 콘텐츠에로드 한과 레이아웃 작업 방법을 사용하고 때 난 단지 imagesLoaded를 사용했다

. 이미지가로드 된 후 $ window.load()에서 masonry를 실행하면 잘 실행되어야합니다.

(function($){ 

    $(window).load(function() { 

     // Masonry Trigger 
     var $container = $('#masonry-wrap'); 

     $container.masonry({ 
     // options 
     itemSelector: '.masonry-box', 
     columnWidth: 283 
     }); 

    }); 

})(jQuery);   
+0

안녕하세요. 회신 해 주셔서 감사합니다. 그래서 imagesLoaded 스크립트를 별도로로드해야합니까? 석공 술 페이지에서 "[...] imagesLoaded 플러그인을 사용하면이 작업을 쉽게 처리 할 수 ​​있습니다." 그래서 이미 벽돌에 통합 된 줄 알았습니까? 또한 어떤 이유로 코드가 jQuery 비트 (예 : 현재 사용중인 비트)와 함께 작동하기 때문에 붙여 넣은 코드 앞에 넣을 수 있는지 궁금합니다. - 내가 지금까지 시도한 어떤 방법도 실패했다. 다시 환호한다. – deborre

+0

안녕하세요. 좋은 지적입니다. '포함 된'것을 보았을 때 그는 git .zip 다운로드 패키지를 의미한다고 생각했지만 당신 말이 맞습니다. 이것은 Masonry 플러그인 스크립트에 통합되었습니다. 내 잘못이야! downvoting 준비하기 :-) – McNab

+0

이봐 요, 나는 대답을 편집했습니다 - window.load()에서 실행 해보십시오. Chrome에서 문제가 될 수 있으며 Safari는 이미지로드와 아무 관련이 없습니다. 어떤 일이 벌어지는 지 확인할 수있는 링크가 있습니까? – McNab