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

Shutter Reloaded demo 450 X 300Shutter Reloaded demo 600 X 400Shutter Reloaded demo 900 X 600

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 time
  • class="shutterset" will combine all image links in a single set
  • class="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.

38 Comments

  • #38 by Uuwwjj August 15, 2010 at: 1:51 am

    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

  • #37 by Graphic Design Brisbane August 12, 2010 at: 11:02 pm

    Thanks for all your hard work….I have really enjoyed reading.

  • #36 by juergr May 30, 2010 at: 4:57 am

    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.

  • #35 by Joe May 27, 2010 at: 10:19 am

    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

  • #34 by Haluk March 30, 2010 at: 12:49 am

    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

  • #33 by Biktor March 25, 2010 at: 6:27 am

    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.

  • #32 by Erum February 21, 2010 at: 11:00 pm

    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.

  • #31 by xube February 4, 2010 at: 4:24 pm

    Hello,
    There is some problems with Google Chrome browser. Sometimes images are not loaded or Loading continues forever and nothing shows.

  • #30 by teros0805 January 18, 2010 at: 4:02 am

    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.

  • #29 by Steve January 15, 2010 at: 7:30 pm

    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