일반 이미지 로드 코드

황제낙엽 2009.06.27 12:48 조회 수 : 18 추천:166

sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  
이미지 로드 이벤트 load 는 파이어폭스에서는 문제가 없지만 익스플로러에서는 일어나지 않거나 여러번 호출되거나 이미 src가 지정된 경우 src를 바꿀때 일어나지 않는 문제가 있다.
그래서 타이머를 지정하여 이미지 로드 검사를 해주는 것이 낫다.

·미리보기 | 소스복사·
  1. if (imgSrc.length > 0) {   
  2.     titleimage.src = this._imagePathByUrl(imgSrc, false);   
  3.     titleimageDiv.appendChild(titleimage);   
  4.        
  5.     var thisP = this;   
  6.     var titleImgLoaded = null;   
  7.     var loadCount = 0;   
  8.        
  9.     this._imageLoadTimer = setInterval(titleImgLoaded = function(){   
  10.         if (loadCount < 10 || titleimage.width == 0) {   
  11.             TOBE.$s(titleimageDiv, "width", titleimage.width + "px");   
  12.             TOBE.$s(titleimageDiv, "height", titleimage.height + "px");   
  13.             thisP._resizeTitle();   
  14.             loadCount++;   
  15.         } else {   
  16.             clearInterval(thisP._imageLoadTimer);   
  17.         }   
  18.     }, 10);   
  19. }