2013-07-05 2 views
3

skrollr.js을 사용하여 페이지에서 몇 가지 항목을 움직이게합니다. 창 뷰포트 너비가 특정 크기보다 클 때만 skrollr를 초기화하고 뷰포트 너비 아래에있을 때 완전히 제거하거나 파기하려고합니다.skrollr.js : 지정된 창 너비에서 skrollr을 끄거나 없앱니다.

예를 들어 브라우저 창 너비가 600px보다 큰 경우 skrollr을 초기화해야하지만 브라우저의 너비가 600px보다 작 으면 skrollr을 끄거나 삭제하려고합니다. 사실 반환하는 경우 당신은 Modernizr(및 Yepnope.js) 다음, 특정 미디어 쿼리를 테스트하는 데 사용할 수

+0

페이지로드시이 확인을 수행 하시겠습니까? 아니면 창 크기 조정에 반응해야합니까? – Prinzhorn

+0

윈도우 리사이즈에 반응해야합니다. 사이트의 다른 곳에서 이미 [jRespond] (https://github.com/ten1seven/jRespond)를 사용하고 있으므로 도움이된다면 특정 미디어 쿼리 "중단 점"을들을 수 있습니다. – ctrlaltdel

+2

당신이 그것을 원한다면 당신은 운이 없다. https://github.com/Prinzhorn/skrollr/issues/202 https://github.com/Prinzhorn/skrollr/issues/109 – Prinzhorn

답변

5

destroy 인스턴스 방법은 당신을 위해 무엇을 찾고 있습니다. 저는 지난 주에 작업을 해왔고 Prinzhorn이 이미 마스터 브랜치에서 변경 사항을 병합 한 것처럼 보입니다.

호프가 도움이되기를 바랍니다.

+0

승인 된 것으로 표시되었으므로 99 % 확신하고 있습니다. 이 프로젝트는 이후 생산에 들어 갔지만, 이것은 미래를 위해 아주 좋습니다! 감사! – ctrlaltdel

+0

안녕하세요 Kordero, 사이트에 대해 skrollr를 사용하고 모든 작업이 정상적으로 작동하지만 스크롤하는 동안 애니메이션이 반전되는 것을 원하지 않습니다. dest0ory 메쏘드를 사용하는 방법 – San

+1

미안하지만, 당신의 코멘트를 놓치 셨다면,'instance' 객체 (당신이 skrollr.init를 호출 할 때 반환 된 것)의'instance.destroy()'메쏘드를 호출해야합니다. 그런 다음 스크롤하면 새로운 skrollr 인스턴스를 다시 초기화해야합니다. 나는 그것을 파괴한다는 것은 skrollr에 의해 만들어진 UI의 어떤 변화도 취소 될 것이라는 것을 의미해야한다. 그래서 함축 된 의미는 다양 할 수있다. – kordero

0

, 스크립트를 가져옵니다. 이 문서는 here에 설명되어 있습니다. 예를 들면 그래서

:

Modernizr.load([ 
    { 
    test: Modernizr.mq('only all and (min-width: 600px)'), 
    yep: '/js/skrollr.js', 
    } 
]); 
+0

이것은 특정 중단 점에서 Skrollr을로드하는 경우에는 문제가 없지만 이미 초기화 된 특정 중단 점에서 인스턴스를 완전히 파괴하는 방법을 찾고있었습니다. 귀하의 회신에 감사드립니다. – ctrlaltdel

0

enquire.js (js의 mediaqueries)과 함께 skrollr.destroy() 함수를 사용하십시오.

enquire.register("screen and (min-width: 960px)", { 

    match : function() { 
     var s = skrollr.init(); 
    },  

    unmatch : function() { 
     var s = skrollr.destroy(); 
    },  

    deferSetup : true, 

});