2013-08-21 2 views
0

나는 모든 페이지 요소가 접근 가능해지기 전에 자바 스크립트 (매우 큼) 3 개의 파일을로드해야하는 페이지를 가지고있다. 링크 중 하나가 클릭되면로드가 중지되고 전체 페이지가 스크립트를 올바르게로드하지 않습니다.자바 스크립트가로드되기 전에 클리너를 사용하지 않도록 설정 하시겠습니까?

모든 페이지가로드되기 전에 페이지를 검정색으로 만드는 오버레이로 페이지를 마스킹하여 솔루션을 만듭니다. 그래서 내 페이지의 상단에 나는 어떤

$(".black-overlay").show(); 페이지가로드 된 후 그 다음, 내가 넣어 9999의 Z- 인덱스 내 전체 페이지를 마스크 사업부를 넣어

$(function() { $(".black-overlay").hide(); });

내가 읽은 소스는 문서 준비 기능과 동일하므로 페이지로드 후에 오버레이가 사라집니다.

제 문제는 가끔씩 만 작동한다는 것입니다. 하나의 경우 오버레이가 사라졌지만 링크가 여전히 끊어졌습니다 (스크립트가 아직로드되지 않았다는 의미입니다). 또 다른 경우는 다음과 같은 경우 오버레이가 표시되지 않는 경우가 있습니다. 다른 페이지로 이동 한 다음 기본 페이지로 돌아가서 스크립트가 다시로드되어야하므로 오버레이가 다시 표시되어야합니다. 그러나 때로는 잘 작동합니다.

이 문제의 해결 방법이 있습니까?

[편집] 특히 웹 사이트에 대한 인터넷 연결이 매우 느린 경우에 발생합니다.

+1

'$ (window) .load (function() {// 사용자 함수}); ' –

+0

jQuery를로드하기 전에 $를 사용합니까? 모든 스크립트가로드 될 때까지 사용자가 검은 색 화면을 볼 수있게하려면 검은 색 화면을 활성화하고 검은 색 화면을 표시하는 데 자바 스크립트가 필요하지 않으며 'jQuery (document) .ready (function ($) {$ ("블랙 박스 - 오버레이"). hide();});' –

+0

@FakeRainBrigand 남자에게 맡겨두면,'eric.itzhak'이 벌써 대답했다. –

답변

3

나는 의미, 기본에 숨어 몸을 만들 것 : <body style="display:none;">이 및 문서로드, 그것을 볼 수 있도록 (당신도 fadein 수, 항상 재미 인) :

$(document).load(function() { $('body').fadeIn(); }); 

그것에게 당신이 할 수있는 최신 넣어 귀하의 코드, 그리고 그것은 (잘하면) 작동합니다.

+0

고마워, 내 질문 제외하면이 잘 작동합니다. 나는'문서'를'창'으로 바꿔야합니다. 그게 문제가 될거야? – user2002495

+0

읽어보기 : http://stackoverflow.com/questions/8396407/jquery-what-are-differences-between-document-ready-and-window-load –

+0

링크를 가져 주셔서 감사합니다. 나는'document'를 사용하는 어떤 이유 (모르겠다) 때문에'display : none'이 여전히 존재하기 때문에 그것을 변경해야합니다. – user2002495

관련 문제