2013-06-10 6 views
0

블로그 게시물 페이지를로드하기 위해 html5 history pushstate를 사용합니다.jquery pushstate 콜백 스크립트

푸시 스테이트를 통해로드 된 각 페이지에는 슬라이더 (iosslider)가 있습니다. 블로그 페이지를로드 할 때 슬라이더가 작동하지 않습니다. iosslider 스크립트를 콜백해야한다고 생각합니다. 내가 pushstate를 실행할 때

$('.iosSlider').iosSlider({ 
responsiveSlideContainer: true, 
responsiveSlides: true, 
snapToChildren: true, 
desktopClickDrag: true, 
keyboardControls: true, 
infiniteSlider: true, 
navSlideSelector: true, 
autoSlide: true, 
autoSlideTimer: 5000, 
navNextSelector: $('.slider-next'), 
navPrevSelector: $('.slider-prev'), 
navSlideSelector: $('.slider-pagination .slider-page'), 
onSlideChange: slideChange 
}); 

가 어떻게 스크립트를 초기화 할 수 있습니다 :

여기를 초기화 iosslider 스크립트입니다?

영어로 죄송합니다. 저는 프랑스어입니다.

답변

0

window.onpopstate 이벤트를 사용하여 스크립트를 호출 할 수 있습니다. 다큐먼트가

확인 :

$(element).iosSlider('update'); 

http://iosscripts.com/iosslider/#installation-and-setup#public-methods

을 그리고 당신을 수행

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history#The_popstate_event

편집

당신이 시도 했 콘솔에 오류가 있습니까?

편집 2

나는이/비동기를 동기화 관련이 의심한다. 문제는 푸시 스테이트를 사용할 때 페이지가 실제로 "다시로드되지"않는다는 것입니다. 내 생각에 슬라이더의 스크립트가 방금 중지되었고 다시 시작해야하지만 이미 초기화되었으므로 다시 초기화 할 수 없습니다.

하려고 :

$(element).iosSlider('destroy'); 

후 다시 초기화합니다. 이 후 당신의 onpopstate 기능 장소 그것에서

:

if (event.state) { 
     load_content(event.state.title, window.location.pathname, true); 
     // here 

편집 3

사용 :

$(window).load(function() { 
    // initialize 
}); 

가 온로드 전에 onpopstate 트리거됩니다주의하십시오.

+0

고맙습니다 만 작동하지 않습니다 ... – freaky

+0

시도해 볼 코드 샘플을 보여주세요. 그리고 그것은 제 3자를 위해 "하지 않습니다"*) – Maresh

+0

또한 푸쉬 스테이트 콜을 보여줍니다. – Maresh