Shutter Reloaded
Shutter Reloaded is an image viewer for your website that works similarly to Lightbox, Thickbox, etc. but is only about 10KB in size and does not require any external libraries. It has many features: resizing large images if the window is too small to display them with option to show the full size image, combining images in sets, redrawing the window after resizing, pre-loading of neighbour images for faster display and very good browser compatibility.
Demo
Download ShutterReloaded v2.0.1
Installation
Upload the “shutter” folder to your web server and add the following to your header (in this order):
<script type="text/javascript">
shutterOnload = function(){shutterReloaded.Init();}
</script>
<script src="shutter/shutter.js" type="text/javascript"></script>
<link rel="stylesheet" href="shutter/shutter.css" type="text/css" media="screen" />
Alternatively you can copy and paste the content of shutter.css to your site’s main css file, instead of loading it as a separate file.
If your site has html pages organized in subfolders, change the setting for Shutter’s buttons location in shutter.js from shutter/images/ to /shutter/images/ (add the starting slash). Then upload the “shutter” folder to your web site’s root directory (where your main index.html file is located) and include it on any page in any subfolder like this:
<script type="text/javascript">
shutterOnload = function(){shutterReloaded.Init();}
</script>
<script src="/shutter/shutter.js" type="text/javascript"></script>
<link rel="stylesheet" href="/shutter/shutter.css" type="text/css" media="screen" />
Activation
By default Shutter is activated on all links pointing to an image, with thumbnail or not. There’s no need for any changes to the page, just add Shutter in the header. It will display each image separately and will create sets for image links that have either class=”shutterset”, class=”shutterset_setname” or rel=”lightbox[setname]“.
For controlling which images are displayed, Shutter can be activated with shutterReloaded.Init('sh'). Next step is to add class=”shutter”, “shutterset” or “shutterset_setname” to the links pointing to the images you want to display.
class="shutter"will display one image at a timeclass="shutterset"will combine all image links in a single setclass="shutterset_setname", where setname is a short word and/or number, will create multiple sets on the page.
If you want to add css styles to the links, you can include a second class, but “shutterset” should be first. Example: class="shutterset_setname my-class".
Shutter Reloaded can also use Lightbox style activation and sets. You can activate it with shutterReloaded.Init('lb') and use rel="lightbox" for singe image display, or rel="lightbox[setname]" for sets of images.
There’s no limitations to the number of images or the number of sets on the page.
Customization
Shutter Reloaded has several customization options that can be selected by changing the values near the top of the shutter.js and shutter.css files. Follow the instructions in the comments there.
- The “Previous”, “Next”, “Close”, etc. buttons can be either images or text.
- The images count (“Image 1 of …”) can be hidden.
- All colours, font sizes and typefaces can be set in shutter.css.
- The icons for the image buttons can be replaced with transparent GIFs (unfortunately PNGs won’t work in IE6). The names should be the same, but the size can be different.
Frequently Asked Questions
Shutter doesn’t work at all. The images open in new pages.
Check the <body> tag on the page to see if it includes an “onload” event. If it does, that overwrites Shutter’s activation. Example:
<body onload="MM_preloadImages('/images...');">
An easy workaround is to add “shutterReloaded.Init();” to it, like this:
<body onload="shutterReloaded.Init(); MM_preloadImages('/images...');">
However the more compatible way to fix it would be to add
window.onload = function(){ MM_preloadImages('/images...'); }
just above “shutterOnload = …” in the header (inside the <script> tag). Then delete the “onload=…” from the <body> tag.
Shutter’s dark background doesn’t cover the whole page.
Add
body {margin: 0; padding: 0;}to your stylesheet.
How can I open an image in Shutter Reloaded from java script? So far I have gathered that using shutterReloaded.Make(xxx) would work bu then how do I get the number (xxx) of the link for Shutter Reloaded to use? Any tips?
Uuwwjj
Thanks for all your hard work….I have really enjoyed reading.
is it possible to loop the images? What i mean is, if the set contains 15 images and i’m at image 15 to jump to image 1.
Great script!
I’m using the nextgen integrated version of shutter reloaded.
I’m using the imagebrowser to navigate through the galleries.
when I click the next or prev button, the next image gets loaded using ajax by shutter reloaded (I think) just perfect.
I would like to add links within my text to load the next image as well using ajax, but have no clue how to manage it. The whole page always loads…
Does anybody have an idea?
Thx
Hello
Thanks for this image viewer. I managed to make it worked. But I have a problem with buttons (prev, next, resize etc.) They don’t appear. Because in your instruction, it is said to upload IMAGES folder. But my host files do not accept folders, therefore, all images buttons, js and css are staying in the same page.
How can I change image dir in order for shutter to find the images buttons (next, prev, resize1, etc) properly?
For eg: This directory must be in JS file : http://buttaliciouss.weebly.com/uploads/3/4/7/4/3474838/resize1.gif
Hi!
Thank you so much for this wonderful script.
I am having the same problem with chrome browser, has anybody found a solution to it?
Thank you so much in advance.
Has anyone come up with a solution for Chrome?
I tried #26 but that did not work for me. The first photo stopped loading as well.
Hello,
There is some problems with Google Chrome browser. Sometimes images are not loaded or Loading continues forever and nothing shows.
I love the script….its light, fast, and looks good. I’ve used it on a number of testsites (WP and others) but I’m having a really hard time trying to figure out how to make it work on a phpbb forum. I’ve tried the suggestions about taking the window.onload = etc.. etc.. and moving it just above the “shutterOnload = …” inside the shutter tag but no luck. It IS loading the shutter js its just not initilializing as far as I can tell. Does anybody have any experience with using shutter and phpbb3 or any suggestions ?
Tia.
My client wants the gallery navigation inside the same box as the caption. The js file is too complex for me. Any suggestions? An alternative would be to have nav flush under the Caption box. I’ve tried modifying the CSS with no success. – thx