PDA

View Full Version : لود شدن تصویر



kajal_22
شنبه 27 بهمن 1386, 15:18 عصر
من توی یه صفحه از سایتم تصویر دارم که با اومدن موس روی اون یه تصویر دیگه لود میشه. و از کد زیر استفاده کردم:

<a href="ShowProduct.aspx" onmouseout="document.Image112.src='Images/Pop-Up-Series1.jpg'"
onmouseover="document.Image112.src='Images/Pop-Up-Series2.jpg'">
<img alt="Pop Up Series" border="0" name="Image112" src="Images/Pop-Up-Series1.jpg" />
</a>

مشکل اینجاست که ، خیلی طول می کشه تا عکس دوم لود بشه، یعنی کاربر باید چند ثانیه موس رو روی عکس اول نگه داره تا عکس دوم لود بشه، حجم عکس دوم 4کیلو بایته، کسی می دونه برای این مشکل چه باید کرد؟

raravaice
شنبه 27 بهمن 1386, 15:49 عصر
از توابع جاوا اسکریپت استفاده کن



function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


onlode body



MM_preloadImages('image/desk/cred.png');


onmouseover image



MM_swapImage('my_lo','','img/my_o.gif',1);

kajal_22
یک شنبه 28 بهمن 1386, 17:08 عصر
دوست خوبم ممنون از راهنمایی خوبت ، من قبلاً هم از این کد استفاده کرده بودم اما این نکته را نمی دونستم که باید در onLoad هم دستوری بنویسم به همین دلیل جواب نداده بود.اما با راهنمایی شما حل شد.سپاسگزارم

Himalaya
شنبه 11 اسفند 1386, 16:07 عصر
آقا میشه یه مثال در این مورد به من بدید...چون من این کارا رو کردم ولی نشد که نشد...
راستی اگه مثلا من 30 تا عکس داشته باشم که هر 3 تاش واسه 1 دکمه باشه ، یعنی هر دکمه 3 حالت up و over , normal داشته باشه ، کد بالا به دردم میخوره یا نه؟؟؟ ممنون

raspotineiran
یک شنبه 12 اسفند 1386, 12:54 عصر
برو اینجا رو ببین http://barnamenevis.org/forum/showthread.php?t=95870

rezamizbani
دوشنبه 13 اسفند 1386, 10:29 صبح
از یه راح حل ساده تر هم میشه استفاده کرد اگه می خواین زیاد کد ننویسید !!

عکس دوم را توی صفحه بزاری و فقط display استایل اون رو none کنید !! به راحتی در هنگام لود عکس بازگزاری می شه !