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[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;
|
||||
preloadcheck();
|
||||
preloader=setInterval('preloadcheck()',100);
|
||||
@@ -136,16 +145,13 @@ function thumblist(n,curr) {
|
||||
if (imagelist.length==0) { return; }
|
||||
ob=document.getElementById('thumbcontainer');
|
||||
ob.style.width=document.body.clientWidth-30;
|
||||
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);
|
||||
currentlist=endI;
|
||||
nright=endI-Math.round((maxThumb/2))+maxThumb-1;
|
||||
ends=getThumbStartEnd(n,maxThumb);
|
||||
currentlist=ends.last;
|
||||
nright=ends.last-Math.round((maxThumb/2))+maxThumb-1;
|
||||
nleft=nright-maxThumb-maxThumb;
|
||||
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>';
|
||||
rightstr='<span title="[shift right arrow]" id="arrowright" class="thumbbox" onclick="thumblist('+String(nright)+','+String(curr)+')">→ <div class="arrowtext">('+(imagelist.length-endI)+')</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-ends.last)+')</div></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 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>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;
|
||||
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+=rightstr+'</div>';
|
||||
@@ -173,6 +179,14 @@ function thumblist(n,curr) {
|
||||
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() {
|
||||
// Shows all the thumbnails in the current folder
|
||||
ob=document.getElementById('thumbcontainer');
|
||||
|
||||
Reference in New Issue
Block a user