2013-07-06 3 views
2

를 호출하는 방법을 나는 다음과 같은 기능이 있습니다jQuery를 벽돌 layoutComplete

namespace.utils.pageReorder(feed, function() { 
    console.log('complete'); 
    // do some stuff here no reorder has completed 
}); 

------------- 

pageReorder: function(feed, callback) { 

    feed.masonry('reloadItems'); 
    feed.masonry('layout'); 

    callback(); 

}, 

내가 무엇을 할 수 있어야하는 것은 벽돌 레이아웃이 완료되면에만 콜백을 호출하는 것입니다. 나는 벽돌이 다음과 같은 방법을 가지고 있지만 그것을 나의 기능에 통합하는 방법을 모르겠다는 것을 안다.

msnry.on('layoutComplete', function() { 
    console.log('layout is complete, just once'); 
    return true; 
}); 

감사 피트

답변

2
pageReorder: function(feed, callback) { 

    feed.masonry('reloadItems'); 
    feed.masonry('layout'); 

    feed.on('layoutComplete', function() { 
     callback(); 
    }); 
}, 

이 벽돌의 layoutComplete 항상 신뢰할 수없는 경험에 의해 작동한다.

+1

layoutComplete 많이하지 않습니다 :

가정 피드는 JQuery와 요소입니다. 이 문제를 해결하는 방법을 알고 계시다면 – punkbit

2

레이아웃하기 전에 이벤트 수신기를 등록 할 때 가장 안정적으로 작동하는 것으로 나타났습니다.

feed.masonry({ 
    isInitLayout: false, 
    transitionDuration: 0,}); 
var msnry = feed.data('masonry'); 

msnry.on('layoutComplete', function() { 
    console.log('layout is complete, just once'); 
}); 
msnry.layout(); 
관련 문제