How queer. That suggests to me an issue with the way the browser is reporting the scroll position. HMMM :(
I've also just found out that IE9 displays all images at the same size as whichever image you click first. This is most vexing :@ (and best of all it works just fine in IE8 :? )
IE is more diabolically cruel than waterboarding...
----
"Cellphones have turned people blessed with opposing thumbs and ten digits into monkeys hammering on a 2-inch touchscreen with all the speed and grace of a retarded badger molesting a tennis ball."
Heh. Turned out that assigning a new src to an existing image object doesn't update the width and height properties in IE9. Fixed it now, anyway (by creating a new image object each time).
If you expand this (I presume you'll want to add fading in and out? People seem to expect that these days) .. try not to go too far and end up being what lightbox is. This should be the "I just want it to work without a lot of fucking around" option. So not too many settings and tasteful defaults.
</telling you to do stuff you probably already knew>
Fading, hmm. Dunno*. Higher priority is stuff like "Next" and "Previous" links, and maybe a close button or something (since it's not immediately obvious how to hide the popup, and in my experience clicking popups tends to make bad things happen).
I would also like to do the thing Lightbox does where you can have more than one gallery per page, although I dunno how useful that'd be. Another thing that might be useful is adding a 'darkener' thing to dim the rest of the page.
edit: I also had an idea to examine the link to see if it contained a thumbnail image, and use that as a placeholder while the full image loads.
I've just updated it btw, so that it actually scales properly (i.e. maintaining aspect ratio).
* but only because I don't know how I'd do it :$ I'll have to look at how jQuery manages it - perhaps with some fiddling with transparency properties and such.
Why not just use jquery? I know you want to keep it minimal but jquery's hardly massive.
I've never seen a close button done elegantly. I agree that it should be there but ... it always just looks ugly.
Separate galleries would be handy, yeah. But please make them easier to manage than lightbox does :((
Maybe have an array in settings where you specify the id you will use in galleries or something? I dunno, needs to be something 'upfront' like that. I can't remember how lightbox does it but I remember it being unintuitive as all fuck.
Lightbox uses rel="lightbox[galleryname]" to mark individual galleries. Doesn't seem all that difficult to me, but then I've not actually tried using it.
Maybe a better way would be to allow the user to specify arbitrary CSS selectors to mark the containers for each gallery or something, like this:
Could be an issue if any of those selectors returns more than one container element, but document.querySelector() could be used to only get the first of them.
As for jQuery, yeah, it's not huge, but it's still 30K or so after gzip (compared to 1.3K or so for quickslide-min.js gzipped, 2.9K otherwise), and I don't want to force any dependencies - I've been trying to make the code as unobtrusive as possible. On the other hand, I could quite easily add an option to enable the use of jQuery for stuff like animation, so it'd be there if the user wants it. It depends how difficult it'd be to do the animation, really, and what kind of animations should be included.
Oh ok that's fine then. I think it used to work differently. Or I'm thinking of something else. I think either way would be fine then but your way would be preferable to me.
I'd just use jquery. I mean, it's pretty proven and it seems pointless replicating the work they've done. This is going to be used displaying images, each of which is probably 10x as big as including jquery.
Part of the reason I did this without using jQuery was just to get some practice at doing DOM stuff the native way - it's been bothering me slightly for a while that I didn't really know how to do it.
I think converting quickslide to depend on jQuery would save me about 50 lines of code at the moment. I'll investigate animation tomorrow.