레이아웃 용으로 벽돌을 사용하고 있습니다. 브라우저의 윈도우 크기가 변경되면 Masonry가 레이아웃을 재실행하기 전에 몇 가지 계산을 수행하고 싶습니다.벽돌 편집 전에 코드를 실행하는 방법
지금까지 jquery.masonry.js 파일을 수정하고 옵션에 콜백 함수를 추가하여이 작업을 수행 할 수있었습니다. 하지만 석조 코드를 수정하지 않고 그것을하고 싶습니다.
$container.masonry({
itemSelector : '.grid-element'
, preResizeCallback : doPreResize
, isResizable : true
});
다음 doPreResize
에서 내가해야 할 무엇이든 할 : 추가
옵션은 (벽돌 초기화) 다음과 같다. 의 .js 파일의 수정에있는 resize
기능 (버전 v2.0.110927에 가까운 라인 293) : 내가하고 싶은 무엇
resize : function() {
//added callback to be called before doing resizing-related code
if (this.options.preResizeCallback)
{
this.options.preResizeCallback(this.element);
}
//rest of code
다음 false
과로 설정 isResizable
옵션을 벽돌을 초기화하는 것입니다 스마트 리사이즈 이벤트를 유지하면서 세미 수동으로 크기 조정을 트리거합니다.
'스마트 리사이즈'이벤트를 설정하여 resizeLayout
과 같은 함수를 호출 할 수 있습니까? 내가 부족 무엇
function resizeLayout(event) {
//do precalculations
//tell masonry to reorganize layout
$container.masonry();
}
는 isResizable
이 true
설정하는 방법은 지속적으로 트리거되지 않으며, 대신 벽돌과 같은 방법을 수행 할 수 있도록 크기 조정 이벤트를하는 것입니다 않을 때입니다.
나는이 방법은 (1)뿐만 아니라 블록을 재 배열 않는다는 것입니다 일을 함께 문제를 생각하지만, 그것은 모든 시간을 할 것 (2) 설정 함수를 호출하여 처음부터 온통 벽돌을 설정 resize event triggers는 내가 피하고 싶었던 것입니다. ('smartresize.masonry'는 브라우저의 크기를 변경하지 않고 몇 밀리 초가 지나면 트리거됩니다). – frozenkoi