2013-03-29 6 views
0

이 사이트의 프리 로더는 http://exit.santamartastudio.es/이며 가끔 프리 로더를 숨기고 일부는 프리 로더를 숨 깁니다. 나는 그것을 찾았지만 왜 그것이 실패하는지 모르겠다.jQuery Preload dissapearing

UPDATE (여기에 코드입니다) :

$(document).ready(function(){ 
    setLoader(); 
    Here I load the rest of jquery 
}); 



$(window).load(function() { 
    hideloader(); 
}); 

기능 :

// Setloader 
function setLoader() { 
    disable_scroll(); 
    $('body').css('overflow', 'hidden'); 
} 
// Hideloader 
function hideLoader() { 
    var windowWidth = $(window).width(); //retrieve current window width 

    $('#loader img').animate({ 
    left: '+=' + ((windowWidth/2) + 100) 
    }, 1000, 'easeOutExpo'); 

    $('#loader span').animate({ 
    left: '-=' + ((windowWidth/2) + 100) 
    }, 1000, 'easeOutExpo'); 
    setTimeout(function() { 
    $('#loader').fadeOut(800, 'linear', function(){ 
     enable_scroll(); 
     $('body').css('overflow', 'visible'); 
     $(this).hide(); 
    }); 
    }, 200); 
} 
+0

프리 로더를로드하는 js를 볼 수 있습니까? – Vortex

+0

콘솔에 두 개의 오류가 있습니다. 하나는 'ReferenceError : 변수를 찾을 수 없습니다 : hideloader'입니다. JavaScript를 사용하여''strict strict ';'를 사용하면 가장 강한 오류를 얻을 수 있으므로 오류가있는 경우 역 추적 할 수 있습니다. –

답변

1

문제는 당신 hideLoader()이 제대로 트리거되지 않습니다이다. 이것을 사파리의 내 콘솔에 입력하면

hideLoader(); 

.. 그냥 실제 구현에는 아무런 문제가 없습니다.

여기서 문제는 코드가 "너무 늦다"는 것입니다. 한 가지는 다른 것을 기다려야한다는 것을 우선시해야합니다. 최신 브라우저는 스크립트를 매우 빠르게로드합니다. 로드가로드 할 함수보다 훨씬 빠를 수도 있습니다. DOM 이벤트에서 대부분로드 시간은 0.0ms이고 0.1ms입니다.

함수 코드를 jQuery 함수 안에 넣고 준비 상태 바인딩 (함수) 전에 함수를 넣으려고 할 수 있습니다.

너무 빠른 트리거링 준비 상태보다 다른 설명이없는 것처럼 보입니다. 준비 상태가 오래 걸릴 수 있도록 페이지의 큰 그림으로 테스트 해보십시오. 준비 상태가 완료되는 데 오래 걸리므로 오류가 발생하지 않을 것입니다.

+0

답장을 보내 주셔서 감사합니다. Perheps은 제 영어를위한 것이지만 당신이하고자하는 것이 무엇인지 이해하지 못합니다. 이해하지 못함 "함수 코드를 jQuery 함수 안에 넣고 준비 상태 바인딩 (함수) 전에 함수를 넣으려고 할 수 있습니다." 나는 모든 코드를 바이올린에 넣었다 : [jsfiddle link] (http://jsfiddle.net/demssite/KwgX3/). 미리 감사드립니다. –