2012-01-19 6 views
3

페이지가 완전히로드되면 자동으로 창을 스크롤하므로 initPage 수신기 내부에서 silentScroll을 호출합니다. 그러나 작동하지 않으며 스크롤도 없습니다.jquery-mobile : initPage에서 silentScroll이 작동하지 않습니다.

$('#mainPage').live('pageinit', initPage); 

function initPage() { 
    $.mobile.fixedToolbars.setTouchToggleEnabled(false); 
    $.mobile.silentScroll(800); 
    .... 

내가 작동하도록 할 수있는 유일한 방법은 setTimeout을 통해 호출하는 것입니다.하지만 그 이유는 무엇입니까? pageinit이 실행될 때 페이지는 http://jquerymobile.com/demos/1.0/docs/api/events.html에있는 jqm 문서를 참조하여 준비되어야합니다.

이와

, 자동 스크롤 작동하지만 그것은 추한 :

setTimeout(function(){$.mobile.silentScroll(8000);}, 1000); // scroll after 1 sec 

파이어 버그/크롬 개발 도구에 $.mobile.silentScroll(8000); 실행도 그냥 initPage에서 확인을 작동합니다. initPage에 js 경고를 표시하면 표시됩니다. 그러나 스크롤이 제대로 실행되지 않습니다. 어쩌면 jqm 버그일까요?

여기이 질문에
+0

어쩌면 콜백 $ ('#의 mainPage')이 구문을 시도 ('pageinit', 기능() { $ .mobile.fixedToolbars.setTouchToggleEnabled 라이브 (false); $ .mobile.silentScroll (800); }); –

답변

-1
+0

'pageshow'를 사용하십시오. 첫 번째보기를 스크롤하려면 플래그를 설정하십시오. – Jasper

+0

나는 페이지 쇼도 시도했지만, 역시 작동하지 않았다. 더 긴 페이지는 jqm의 appendTo()를 사용하여 JS, DOM 조작을 통해 빌드됩니다. 어쩌면 그게 문제 야. –

+0

당신은 @Mathias Lin을 알아낼 수 있었습니까? 나는 같은 발행물에 직면하고있다. – vijar

관련 문제