2009-12-02 5 views
0

이미지를 미리로드하는 올바른 방법입니까?이미지를 미리로드하는 것이 올바른 방법입니까?

'선택 옵션'을 변경하면 배경이 변경되는 표가 있습니다. 내 페이지의 본문에서 ,이 있습니다

<body onload="preload();"> 

을 그리고 같은 페이지 내 양식에 내가 가진 :

<select onchange="swap();"><option bla bla></select> 

을 그리고 JS : 입력

function preload(){ 
pic = new image(720, 65); 
pic.src = '../picture.jpg'; 
} 
function swap(){ 
document.getElementById("table_id_here").style.backgroundImage = '../picture.jpg'; 
} 

function swap() picture.jpg 파일이 이미 미리로드 된 것 같습니다. 맞습니까?

이미지가 실제로 캐싱 (사전로드)되었는지 확인할 수있는 방법이 있습니까? 이러한 이미지가로드되는 경우 방화범의 네트워크 도구 같은

답변

2

사용 무언가가 확인

감사합니다.

function MM_preloadImages() { //v3.0 
    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('img1.gif','img2.gif'); //add more if required 
3

로드 중 스프라이트를 사용하거나 표시를 사용하여 CSS와 이미지 :

Fiebug http://getfirebug.com/net.gif

는 어쨌든이 이미지 미리로드에 대한 Dreamweaver에서 사용되는 인기있는 스크립트입니다, 당신의 코드가 작동합니다 생각 : 그것을 숨길 아무도. js 앞에서 할 일은별로 없습니다.

0

단어는 "이미지"를 다음과 같이 당신의 preload 함수의 두 번째 줄에 대문자로해야합니다

pic = new Image(720, 65); 

당신은 그것의 생성자를 호출하여 새 이미지 객체를 만드는 것을 기억 - 그게 무슨로드의 브라우저에서.

대문자로 표기하지 않으면 별도의 기능을 호출 할 수도 있고 존재하지 않을 수도 있습니다.

관련 문제