2011-04-01 5 views
1

배열에 이미지 URL을 저장하는 jquery로 만들어진 슬라이드 쇼가 있습니다. 다음 버튼을 클릭하면 이미지를 가져 오기 위해 서버에 요청을 보낸 다음 보여줍니다. 이것은 작동하지만 이미지가 수집되면 이미지가 위에서 아래로 점진적으로로드됩니다. 다음 코드를 추가하여이 문제를 해결했습니다.이미지 불러 오기 속도가 느린 이미지

//Preload background images 
      function MM_preloadImages() { 
       var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
       var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
       if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
      } 
      MM_preloadImages(<%= preloadImages %>); 

문제는 이제 첫 번째 이미지가 오래 걸리는 문제입니다. 페이지가 첫 번째 이미지로로드 된 다음 백그라운드의 미리로드 된 기능으로로드됩니다.

어떤 조언을 주셔서 감사합니다.

+0

와우, 나 아니면 그냥 훨씬 더 재미있어 투표를 한거야? – qwertymk

+0

@quertymk : 모두입니다. 작은 4 월 어리석은 보너스. – BMitch

답변

0

게시자가 게시 한 코드에서 어떤 순서로 미리로드되는지는 알 수 없지만 현재 페이지로드가 완료된 후에 만 ​​MM_preloadImages를 실행하도록 코드를 변경할 수 있습니다.

즉 처음에는 모든 이미지를 미리로드하는 것처럼 보입니다. 슬라이드 쇼가 진행될 때마다 다음 이미지 또는 두 이미지를 미리로드하고 계속 수행해야하는 이유는 무엇입니까? 이렇게하면 사용자가 다음 슬라이드로 이동하는 동안 브라우저가 전체 프로그램을로드하는 중 여전히 바쁘지 않습니다.

+0

감사합니다. jquery가 페이지에로드 된 이후 $ (window) .load (function() {을 사용하고 치료를합니다. –

관련 문제