2011-08-12 4 views
1

나는 내 웹 사이트에이 슬라이더를 가지고 : 그것은 잘 작동하지만 나는 그것이로드하는 방식을 좋아하지 않는다jQuery - "준비 될 때까지 기다려주세요"?

http://css-tricks.com/examples/AnythingSlider/

(이 준비되기 전에 당신이 목록 점으로 이미지의 목록을 볼 수 있습니다).

우회하는 보편적 인 방법이 있습니까? 사용자가 볼 수 없도록 배경에 슬라이더를로드하는 방법 완전히로드 될 때까지 (예 : preloader.gif를 표시 할 수있는 배경에서로드하는 동안).

나는 불투명도에 대해 생각하고 있었다 : & DOM에서 슬라이더 후에 페이딩되었지만, 다른 방법이있을 수있다?

답변

1
나는 다음과 같은 패턴을 사용하는 경향이

:

// assumes slider is hidden 
var imgCount = $("#slider img").length; 
var loadCount = 0; 
$("#slider img").one("load", function() { 
    loadCount++; 
    if(loadCount === imgCount) { 

     // show slider once all images have loaded 
     showSlider(); 
    } 
}).each(function() { 
    if(this.complete) $(this).trigger("load"); 
}); 
+0

이것은 다소 복잡합니다. 나는 그것을 최대한 빨리 시도 할 것이지만, 더 보편적 인 것에 대해 생각하고 있습니다. 이것은이 슬라이더뿐만 아니라 모든 요소에 대해서도 작동 할 것입니다. 어쩌면 라이브러리, jQuery 플러그인 또는 이와 비슷한 것이 있을까요? – Wordpressor

+0

@ 워드 프레저 - 이것은 일반적인 해결책입니다. 'showSlider'는 무엇이든 될 수 있습니다. 이 모든 것들은 그들이로드 할 때 'whatevers'를 계산합니다. 일단 완료되면, 무엇인가하십시오. – karim79

0

나는

.anythingSlider 
{ 
    display:none; 
} 

CSS

를 적용한 다음 슬라이더를로드 한 후 jQuery를 함께 변경 말할 것입니다.

+0

멋진하지만 슬라이더가 이미로드되어있는 경우 어떻게 확인? – Wordpressor

관련 문제