added thumbnail preloading
This commit is contained in:
@@ -107,6 +107,15 @@ function preload(i) {
|
|||||||
prestr='<img src="_med/med_'+encodeURIComponent(imagelist[left])+'.jpg" />';
|
prestr='<img src="_med/med_'+encodeURIComponent(imagelist[left])+'.jpg" />';
|
||||||
prestr+='<img src="_med/med_'+encodeURIComponent(imagelist[right])+'.jpg" />';
|
prestr+='<img src="_med/med_'+encodeURIComponent(imagelist[right])+'.jpg" />';
|
||||||
}
|
}
|
||||||
|
maxThumb=getmaxthumbs();
|
||||||
|
ends=getThumbStartEnd(i+maxThumb,maxThumb);
|
||||||
|
for (n=ends.first; n<ends.last; n++) {
|
||||||
|
prestr+='<img src="_tn/tn_'+encodeURIComponent(imagelist[n])+'.jpg"/>';
|
||||||
|
}
|
||||||
|
ends=getThumbStartEnd(i-maxThumb,maxThumb);
|
||||||
|
for (n=ends.first; n<ends.last; n++) {
|
||||||
|
prestr+='<img src="_tn/tn_'+encodeURIComponent(imagelist[n])+'.jpg"/>';
|
||||||
|
}
|
||||||
ob.innerHTML=prestr;
|
ob.innerHTML=prestr;
|
||||||
preloadcheck();
|
preloadcheck();
|
||||||
preloader=setInterval('preloadcheck()',100);
|
preloader=setInterval('preloadcheck()',100);
|
||||||
@@ -136,16 +145,13 @@ function thumblist(n,curr) {
|
|||||||
if (imagelist.length==0) { return; }
|
if (imagelist.length==0) { return; }
|
||||||
ob=document.getElementById('thumbcontainer');
|
ob=document.getElementById('thumbcontainer');
|
||||||
ob.style.width=document.body.clientWidth-30;
|
ob.style.width=document.body.clientWidth-30;
|
||||||
startI=Math.max(0,n+1-Math.round((maxThumb/2)));
|
ends=getThumbStartEnd(n,maxThumb);
|
||||||
startI=Math.min(startI,imagelist.length-maxThumb);
|
currentlist=ends.last;
|
||||||
startI=Math.max(0,startI);
|
nright=ends.last-Math.round((maxThumb/2))+maxThumb-1;
|
||||||
endI=Math.min(startI+maxThumb,imagelist.length);
|
|
||||||
currentlist=endI;
|
|
||||||
nright=endI-Math.round((maxThumb/2))+maxThumb-1;
|
|
||||||
nleft=nright-maxThumb-maxThumb;
|
nleft=nright-maxThumb-maxThumb;
|
||||||
if (maxThumb%2==1) { nright+=1; nleft+=1; }
|
if (maxThumb%2==1) { nright+=1; nleft+=1; }
|
||||||
leftstr='<span title="[shift left arrow]" id="arrowleft" class="thumbbox" onclick="thumblist('+String(nleft)+','+String(curr)+')">← <div class="arrowtext">('+startI+')</div></span>';
|
leftstr='<span title="[shift left arrow]" id="arrowleft" class="thumbbox" onclick="thumblist('+String(nleft)+','+String(curr)+')">← <div class="arrowtext">('+ends.first+')</div></span>';
|
||||||
rightstr='<span title="[shift right arrow]" id="arrowright" class="thumbbox" onclick="thumblist('+String(nright)+','+String(curr)+')">→ <div class="arrowtext">('+(imagelist.length-endI)+')</div></span>';
|
rightstr='<span title="[shift right arrow]" id="arrowright" class="thumbbox" onclick="thumblist('+String(nright)+','+String(curr)+')">→ <div class="arrowtext">('+(imagelist.length-ends.last)+')</div></span>';
|
||||||
menustr='<span id="thumbmenu" class="thumbmenu"><span id="allthumbs" class="menuitem" onclick="allthumbs()" title="show all thumbs">all thumbnails</span>'+
|
menustr='<span id="thumbmenu" class="thumbmenu"><span id="allthumbs" class="menuitem" onclick="allthumbs()" title="show all thumbs">all thumbnails</span>'+
|
||||||
'<span>Order:</span><span class="menuitem" id="sortalpha" onclick="sortlist(\'alpha\')">name</span>/'+
|
'<span>Order:</span><span class="menuitem" id="sortalpha" onclick="sortlist(\'alpha\')">name</span>/'+
|
||||||
'<span class="menuitem" id="sorttime" onclick="sortlist(\'time\')">time</span>/'+
|
'<span class="menuitem" id="sorttime" onclick="sortlist(\'time\')">time</span>/'+
|
||||||
@@ -153,7 +159,7 @@ function thumblist(n,curr) {
|
|||||||
'<span>Original:</span><span class="menuitem" id="originals" onclick="fliporiginals()">'+String(originals)+'</span>'+
|
'<span>Original:</span><span class="menuitem" id="originals" onclick="fliporiginals()">'+String(originals)+'</span>'+
|
||||||
'<span>Fullscreen:</span><span class="menuitem" id="fullscreen" onclick="flipfullscreen()">'+String(fullscreen)+'</span></span>';
|
'<span>Fullscreen:</span><span class="menuitem" id="fullscreen" onclick="flipfullscreen()">'+String(fullscreen)+'</span></span>';
|
||||||
thumbstr='<div><span class="headsmall">Images</span>'+menustr+'</div><div id="thumbrow">'+leftstr;
|
thumbstr='<div><span class="headsmall">Images</span>'+menustr+'</div><div id="thumbrow">'+leftstr;
|
||||||
for (i=startI; i<endI; i++) {
|
for (i=ends.first; i<ends.last; i++) {
|
||||||
thumbstr+='<span id="n'+i+'" class="imagebox thumbbox"><img class="thumbimage" title="'+titlestring(imagedesc[i])+'" onclick="showimage('+String(i)+')" src="_tn/tn_'+encodeURIComponent(imagelist[i])+'.jpg"><br/><a href="'+encodeURIComponent(imagelist[i])+'" target="_blank">'+nicestring((imagelist[i]))+'</a></span>';
|
thumbstr+='<span id="n'+i+'" class="imagebox thumbbox"><img class="thumbimage" title="'+titlestring(imagedesc[i])+'" onclick="showimage('+String(i)+')" src="_tn/tn_'+encodeURIComponent(imagelist[i])+'.jpg"><br/><a href="'+encodeURIComponent(imagelist[i])+'" target="_blank">'+nicestring((imagelist[i]))+'</a></span>';
|
||||||
}
|
}
|
||||||
thumbstr+=rightstr+'</div>';
|
thumbstr+=rightstr+'</div>';
|
||||||
@@ -173,6 +179,14 @@ function thumblist(n,curr) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getThumbStartEnd(n,maxThumb) {
|
||||||
|
startI=Math.max(0,n+1-Math.round((maxThumb/2)));
|
||||||
|
startI=Math.min(startI,imagelist.length-maxThumb);
|
||||||
|
startI=Math.max(0,startI);
|
||||||
|
endI=Math.min(startI+maxThumb,imagelist.length);
|
||||||
|
return {first: startI, last: endI}
|
||||||
|
}
|
||||||
|
|
||||||
function allthumbs() {
|
function allthumbs() {
|
||||||
// Shows all the thumbnails in the current folder
|
// Shows all the thumbnails in the current folder
|
||||||
ob=document.getElementById('thumbcontainer');
|
ob=document.getElementById('thumbcontainer');
|
||||||
|
|||||||
Reference in New Issue
Block a user