diff --git a/galleryscript.js b/galleryscript.js index ccf6b84..3ee1da1 100644 --- a/galleryscript.js +++ b/galleryscript.js @@ -107,6 +107,15 @@ function preload(i) { prestr=''; prestr+=''; } + maxThumb=getmaxthumbs(); + ends=getThumbStartEnd(i+maxThumb,maxThumb); + for (n=ends.first; n'; + } + ends=getThumbStartEnd(i-maxThumb,maxThumb); + for (n=ends.first; n'; + } 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='
('+startI+')
'; - rightstr='
('+(imagelist.length-endI)+')
'; + leftstr='
('+ends.first+')
'; + rightstr='
('+(imagelist.length-ends.last)+')
'; menustr='all thumbnails'+ 'Order:name/'+ 'time/'+ @@ -153,7 +159,7 @@ function thumblist(n,curr) { 'Original:'+String(originals)+''+ 'Fullscreen:'+String(fullscreen)+''; thumbstr='
Images'+menustr+'
'+leftstr; - for (i=startI; i
'+nicestring((imagelist[i]))+''; } thumbstr+=rightstr+'
'; @@ -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');