Fjerne preload fra slideshow
Hejsa...Jeg har følgende kode som jeg bruger til et slideshow, og det fungere som sådan okay, men fra man går ind på siden går der lidt tid inden den bliver vist da den først skal loade alle billederne i showet.
Kan man på nogen måde lave det sådan at den kun loader et billede af gangen mens den venter på næste billede ?
Min kode:
<script language="javascript" type="text/javascript">
var slideShowSpeed = 2000
var crossFadeDuration = 3
var Pic = new Array()
<?php
include("galdbcon.php");
$query2 = "select * FROM galleries WHERE domain=4 AND synlig=1 ORDER BY id DESC LIMIT 1";
$result2 = mysql_query($query2) or die(mysql_error());
if($row2 = mysql_fetch_array($result2)) {
$path = "/home/www/galleri/".$row2[id]."/";
$handle = opendir($path);
while (($fil = readdir($handle)) !== false) {
if ($fil != "." && $fil != ".." && substr(strtolower($fil),-3) == "jpg") {
$images1[] = $fil;
}
}
closedir($handle);
$bib = $row2[id];
global $bib;
$firstpic1 = $images1[0];
global $firstpic1;
shuffle($images1);
$arraysize = 16;
if (count($images1) < 15) {
$arraysize = count($images1);
}
for ($i=0; $i<$arraysize; $i++) {
print "Pic[".$i."] = '/ugalleri/".$bib."/".$images1[$i]."'\n";
}
}
?>
var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans(duration=2)"
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply()
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
