2013-06-25 2 views
1

아내를위한 간단한 웹 페이지를 만들고 있습니다.jquery 스크립트가 작업을 완료 할 때까지 페이지를 다시로드하지 마십시오.

I 메뉴로이 스크립트를 사용하고 있습니다 : http://www.designchemical.com/lab/jquery-vertical-accordion-menu-plugin/examples/

내가 메뉴를 클릭 한 후 전체 페이지를 다시로드 싶지 않다 때문에, 나는 pjax 방법 (ajax + pushState)

페이지 곳으로 링크를 사용하고 있습니다 문제가 발생 http://sk-architekci.pl/sknowy2/ (다음 예를 들어 파이어 폭스에서 동일한 작업을 수행, IE에서 그것을 열고 왼쪽 메뉴에서 "PROJEKTY"를 클릭하세요)

내 문제 :

pushState 메서드를 지원하는 브라우저에서 모든 것이 잘 작동합니다 (예 IE에서는 지원하지 않습니다). IE를 제외한 모든 브라우저에서 메뉴의 링크를 클릭하면 메뉴가 천천히 확장되고 내용이 적절한 div에로드됩니다.

IE에서 내 메뉴의 링크를 클릭하면 전체 페이지가 다시로드되기 때문에 스크립트가 작업을 완료 할 수 없습니다. 천천히 다시로드하는 대신 메뉴가 점프 중입니다.

내 질문 :

메뉴 스크립트가 작업을 완료 할 때까지 페이지를 다시로드를 지연하는 방법이 있나요? 또는 어쩌면 거기에 내 문제에 대한 다른 "더러운"우아하고 효과적인 솔루션입니다.

내 JS :

$(document).ready(function ($) { 
    $('#accordion-1').dcAccordion({ 
     eventType: 'click', 
     autoClose: true, 
     saveState: true, 
     disableLink: false, 
     speed: 'fast', 
     showCount: false, 
     autoExpand: false, 
     cookie: 'dcjq-accordion-1' 
    }); 
}); 

나는 가능하면 나에게 간단한 대답을주지하시기 바랍니다 왜 JQuery와 잘, 즉 나는 잘 모릅니다, 웹 개발자 나 프로그래머가 아닙니다.

감사

+0

저는 dcAccordian에 익숙하지 않습니다. 그러나,'disableLink'에 대한 설정이 있습니다. "true"로 설정하면 어떻게됩니까? 'disableLink : true, // 상위 항목의 모든 링크를 비활성화합니다 .' – showdev

+0

disableLink : true - 스크립트가 내 메뉴의 모든 링크를 비활성화하고 더 이상 존재하지 않을 것임을 의미합니다. 내 페이지에 콘텐츠를로드하려면 해당 링크가 활성화되어 있어야하기 때문에 오히려 나에게 좋지 않습니다. 이 코스는 나의 IE 문제를 해결 하나 내게 쓸모 없게 만든다. – lukasz

답변

0

확실하지 않음이 작동하지만 당신이 시도 할 수있는 것은

당신의 머리 태그의 시작 부분이 추가 인 것입니다 경우 :

$(function(){ 
    $('body').hide(); 
}); 

그리고 맨 끝에이 추가 :

$(document).ready(function(){ 
    $('body').show(); 
}); 

이렇게하면 모든 스크립팅이 완료 될 때까지 모든 것이 숨겨집니다. 내가 unstyled 콘텐츠의 플래시에 대한 해결 방법으로 이것을 사용합니다.

+0

hmmm ...이 코드를 어디에 넣어야합니까 ?? 어쩌면 이것이 도움이 될지 모르겠지만 어디에 배치해야하는지 모릅니다. – lukasz

+0

body 태그의 끝에. –

+0

'$ (function() {});'와'$ (document) .ready (function() {});은 동일합니다. 내 편집보기 –

관련 문제