I've recently developed a simple javascript demo which allows you to very quickly browse through a bunch of photos given an array containing the urls of each photo in your gallery. Once the page is loaded it is able to display the images using Prev/Next links without reloading the page. The previous and next photos to the one currently being viewed are also preloaded to speed things up. Take a look at it here:
http://www.terabytelabs.net/gallerytest/This script also implements an Id system where the id of each photo is recorded in the address bar of the browser by using the anchor or hash section so that urls of photos might look like this:
http://www.mysite.com/gallery/photos#myphoto1http://www.mysite.com/gallery/photos#myphoto2etc.
The advantage of this is that photo urls can be copied and pasted and shared. Inspiration for this feature came from the method that Picassa's web galleries tackle this problem. (You can see tristan's public gallery here:
http://picasaweb.google.com/trisweb)Another problem is that if you have loaded the page and alter the url eg by typing the anchor value for a new photo and hit return, nothing will happen as you haven't actually requested a page reload. To get round this problem I simply run a timed loop that constantly checks if the anchor value has changed and if so display the new photo. (Also for some reason, with Firefox, once you type in the url for a particular photo clicking Prev/Next no longer alters the anchor value. It seems Picassa also suffers from this problem.)
Picassa's is the niftiest kind of web gallery I've seen (though zenphoto is still far better of course) so basically I'm trying to replicate this navigation part of it using very simple javascript commands so that I can hopefully somehow integrate it into zenphoto. At the very least it would require that the zenphoto image page loads up the url of each image to display into a javascript array. Please take a look at the code and let me know if you have any thoughts, advice or tips.
Comments
I am very interested in this as well.