2010-02-26 4 views
0

ui-tabs를 사용하면 꽤 좋은 응용 프로그램을 사용할 수 있습니다. 문제는 내 인생에서 내 아약스에서 이미지를 미리로드하는 방법을 찾아 낼 수 없다는 것입니다. 내용이 탭 패널 앞에 표시됩니다. 내가 생각할 수있는 유일한 방법은 탭 패널 콘텐츠의 로딩을 위해 내 자신의 AJAX 기능을 만드는 것입니다, 그리고 아약스 호출이 같은 추가 :jQueryUI-tabs를 사용하여 AJAX 컨텐츠에 대한 이미지 미리로드

success: function(response){ 
    $(response).find('img').preload({ 
      onFinish: function(){ 
        currentTabPanel.show(); 
      } 
    }); 

}

그러나 나는 생각하고 거기에 좋은 방법이 jQueryUi.tabs() 개체에 내장 된 AJAX 메서드 및 이벤트를 사용하여 갈거야 ... 난 그냥 볼 수 있다고 생각하지 않는다 ... arg .. 어떤 아이디어 ??

답변

0

응답이란 무엇입니까? 그것이 무엇을 나타내는가?

는 imgList라는 이미지를 나타내는 개체의 목록이 있다고 가정 :

var imagePreloader = new Image(); 

if(imgList.length != 0) 
{ 
    imagePreloader.load(function() { 
     if(imgList.length != 0) 
     { 
     var img = imglist.pop(); 
     imagePreloader.src = img.imgSrc; 
     } 
     else 
     { 
     currentTabPanel.show(); 
     } 
    }); 

    imagePreloader.src = imgList.pop().imgSrc; 
} 
+0

응답은 일부 img 태그가 있거나 없을 수도있는 일부 HTML 마크 업입니다. 어디에서이 코드를 작성하면이 코드가로드 될 때까지 탭 패널의 내용이 표시되지 않습니까? – RavenHursT

0

이 가끔 사용 더러운 작은 스크립트입니다하지만 좋은 작품 : 나는이 작업을 수행하지 않을

var imgstopreload = new Array('file1.jpg', 'file2.jpg', 'etc.jpg'); 
for (x in imgstopreload){ 
    (new Image).src = imgstopreload[x]; 
} 

페이지가 이미지가 완료 될 때까지로드가 완료되지 않기 때문에 큰 이미지가 많이 있지만, 준비가 필요하면 작동합니다. 그냥 색인에 넣으십시오 :)

+0

예 .. 문제는 AJAX 콘텐츠의 이미지가 동적 인 것입니다. 나는 이미지의 이름을 알 수 없을거야. 그게 내가 $ (response) .find ('img')를 가지고있는 이유이다. – RavenHursT

관련 문제