2014-02-14 3 views
1

내가 jQuery를의이 작은 조각을 가지고있는 경우 :정지 스크립트 화면 크기보다 작은

if (jQuery(window).innerWidth() > 568) { 
    jQuery('#boardOfTrustees').masonry({ 
     itemSelector: '.postWrapper', 
    }); 
} 

이 잘 작동,하지만 작동이 중지하거나 화면이 경우 크기 조정에 그것을 초기화 해제 할 특정 크기보다 작습니다. 나는 이것을 시도했다 :

jQuery(window).smartresize(function() { 
    if (jQuery(window).innerWidth() > 568) { 
     jQuery('#boardOfTrustees').masonry({ 
      itemSelector: '.postWrapper', 
     }); 
    } 
}); 

.smartresize은 잘 작동하는 디 바운스 스크립트이지만,이 특정 시나리오에 대한 자사하지하고 아무것도하고 벽돌 스크립트가 여전히 초기화됩니다. 스크린이 568 픽셀보다 작은 경우 jQuery의 첫 번째 세트를 요소에 적용하지 못하게하고 크기가 568보다 큰 경우 다시 작업을 시작하려면 어떻게해야합니까?

+0

당신이 뭔가를 중지 할 수 없습니다 파괴

if (jQuery(window).innerWidth() < 568) { jQuery('#boardOfTrustees').masonry({ itemSelector: '.postWrapper', }); } 

그것은 크기 조정 작업을하려면 다음 당신은 destroy 상세한 방법을 사용해야합니다 그것은 이미 일어났습니다. 당신은 단지 그것을 되돌릴 수 있습니다. –

+0

창문이 시작 부분에 충분히 넓어서'masonry'가 호출 될 수 있습니까? 너비가'<= 568 '이면 석조물이 무엇이든 명시 적으로 취소해야한다고 생각합니다. –

답변

2

로드시 작동합니다. 아니 크기 조정에 : at the documentation.

$(window).resize(function() { 
    if (jQuery(window).innerWidth() < 568) { 
     jQuery('#boardOfTrustees').masonry('destroy'); 
    } else { 
     jQuery('#boardOfTrustees').masonry({ 
      itemSelector: '.postWrapper', 
     }); 
    } 
}); 
+0

그게 정확히 내가 원하는 일이지만, 또한 568보다 작 으면 크기 조정 및 작동을 지켜 볼 것입니다. – AndyWarren

+0

@AndyWarren이 업데이트되었습니다. – Alvaro

+0

@AndyWarren이 (가) 더 많은 코드로 업데이트되었습니다. – Alvaro

0

그것이

else { 
    jQuery('#boardOfTrustees').masonry('destroy') 
} 
관련 문제