Image gallery with fancy transitions effects

I was looking all over the Internet for some jQuery gallery plugin with some interesting transition effects. I found a lot of great plugins but they all have pretty same transition effects. Mostly that was fading and sliding effects. I wanted something different so I decide to made my own slideshow gallery plugin for jQuery. That’s how was born jqFancyTransitions.

jqFancyTransitions2

My main idea was to build some ‘strip curtain’ effect and I start from that. But, while I was building this some other effects just pop up and I decided to adjust code and include some of those effects. Now, there are ‘wave’, ‘zipper’ and ‘curtain’ effect, plus options that can be used for custom effect. You can see how it works on examples and documentations page.

At the beggining you will need to download jQuery and jqFancyTransitions and include them on your page similar like this :

<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jqFancyTransitions.js" type="text/javascript"></script>

After that you will need some placeholder with some images for your slideshow. Text from alt tag will be used in title bar in your slideshow.

<div id='slideshowHolder'>
   <img src='img1.jpg' alt='img1' />
   <img src='img2.jpg' alt='img2' />
   <img src='img3.jpg' alt='img3' />
</div>

When you set everything time is to call jqFancyTransition and tell him where to do his job. You will probably need to set width and height for your gallery. That can be done with next code:

<script>
$(document).ready( function(){
    $('#slideshowHolder').jqFancyTransitions({ width: 400, height: 300 });
});
</script>

The code above is enough to made your fancy transitions gallery 400px wide and 300px high. If you want you can change transition effect with one of predefined values:

  • wave
  • zipper
  • curtain

Of course, you can made custom effect with set of options that you can use to set speed, number of strips, direction, type of effect, etc. Bellow is list of all parameters and their values that you can use.

effect: '', // wave, zipper, curtain
width: 500, // width of panel
height: 332, // height of panel
strips: 20, // number of strips
delay: 5000, // delay between images in ms
stripDelay: 50, // delay beetwen strips in ms
titleOpacity: 0.7, // opacity of title
titleSpeed: 1000, // speed of title appereance in ms
position: 'alternate', // top, bottom, alternate, curtain
direction: 'fountainAlternate', // left, right, alternate, random, fountain, fountainAlternate
navigation: false, // prev and next navigation buttons
links: false // show images as links

You can try to change those options and see what kind of effect you will get. Basically, you can change position and direction parameters and you will see variety of jqFancyTransitions effects. Also you can check examples and documentation page where you can see few examples with photos made by my friends Goran Jovanovic, Igor Srdanovic, Ivan Jekic and Marko Manojlovic who is also design layout for that page.

IMAGES AS URLS

Since 1.7 version images can be urls. All you have to do is to add url below images. Similar to this:

<div id='slideshowHolder'>
   <img src='img1.jpg' alt='img1' />
   <a href ='https://workshop.rs'/></a>
   <img src='img2.jpg' alt='img2' />
   <a href ='https://workshop.rs/projects/jqbargraph'></a>
   <img src='img3.jpg' alt='img3' />
   <a href ='https://workshop.rs/projects/moobargraph'></a>
</div>

After that just add links: true in call.

Changelog

– 1.5
navigation

– 1.7
images can be urls

– 1.8
class for active navigation number ( ft-button-IDOFHOLDER-active )
description bar is not part of ‘navigation’ option

  • jqBarGraph – jQuery graph plugin (157)
    jqBarGraph is jQuery plugin that gives you freedom to easily display your data as graphs. There are three types of graphs: simple, multi and stacked. All you have to do is to pass your […]
  • JUST – JavaScript Useful Stuff (5)
    I like experiment with data visualization on client side. For that purpose, of course, I need some data for development phase. Since that development phase means that something constantly […]
  • Bigshark – larger buttons on Grooveshark (0)
    GrooveShark is one of the web services which I’m using on daily basis. Actually, I have one computer which I use only to play music from my GrooveShark playlists, while I’m sitting on […]
  • Image gallery in 4 lines of code with MooTools and Dojo (8)
    Recently I wrote article how to create image gallery with description in 4 lines of jQuery code. Now, I will do the same thing with two other popular JavaScript frameworks, MooTools and […]
  • Animated Progress Bar in 4 lines of jQuery (51)
    Progress bars are really useful to indicate to user that something happens and when it will be approximately done. They are useful on page where assets should be preloaded before page is […]

1,034 comments on "Image gallery with fancy transitions effects"

@Thaiwahn
You can print all images from folder with some server side script easily.

@Sabrina, @Phil
I’m working on new version of this plugin and it will have those options probably.

@Arturo
You can’t do that automatically with this plugin.

Lazarevic Ivan on March 11, 2010 at 6:04 am

Hi, i found your plugin very nice, great work.

I just have one question, how can make the images resize to the size of the div.

Arturo on March 10, 2010 at 1:35 pm

Great plugin! I’m using a gallery already and would like to swap it for this one however I need some kind of control over the occurance of transitions. Idealy I would like to be able to use the thumnails i have set up already to skip to that corresponding image and also have the gallery static until a thumbnail is clicked on… is this relatively easy to achieve..? I can probably hack it, but it would be great to know how to go about it properly… any ideas?

Phil on March 9, 2010 at 4:43 am

this works

$(”#slideshow”).click(function() {
window.location = ‘http://www.unicef.org/’;
});

thnx to tomek,

But how can I get a different link to each image?

Sabrina on March 8, 2010 at 6:03 am

I like those scripts, but I did not see how to pass an entire folder for image rotation. Yep, I am to lazy to write each I change something the code. It would be much easier to give the folder and all images are automatically assigned. Then I only need to change the images in the folder if I want show new ones.

Thaiwahn on March 6, 2010 at 7:59 am

Ok cool, when completed and approved, I will send you the link
thx!

David on March 5, 2010 at 4:45 pm

David, it’s not a problem you can use freely if you leave credits in .js file. Also, I’m very interested to see that template so maybe you can show us : )

Lazarevic Ivan on March 5, 2010 at 3:12 pm

hello, I have a question. Can I use this script in a commercial template for redistribution?
thx

David on March 5, 2010 at 7:39 am

Bravo drugari!!!!!!!!

marko on March 4, 2010 at 7:01 am

@tomek but how do you do this to every photo a other link???

Sabrina on March 4, 2010 at 5:34 am

Thanks you all for your comments. I’m working on improvement of jqFancyTransitions so your suggestions are welcome.

@Stand
Thanks for informing me this is very interesting for me. I know that every good idea is followed up by copycats. I’m just glad that people like and use my work.
PS: Your post was marked as spam so I didn’t see it before.

@Carlo
I think that your question is related with WordPress plugin which have separate post on this site so please check there.

Lazarevic Ivan on March 3, 2010 at 5:15 pm

Thanks for this great stuff. Really cool and useful plugin.

Plugo on March 3, 2010 at 11:24 am

Hi,

I love the plugin. It was working for me earlier today but right now it’s not working anymore. How come? I check using firebug and it seems that background url is undefined. I only installed Contact Form 7 after this and made changes on the template and other pages.. nothing major. Can you help please?

Carlo on March 3, 2010 at 6:52 am

To whose who want have images as links.

Try adding something like this to your jquery code:
$(“#slideshow”).click(function() {
window.location = ‘http://www.unicef.org/’;
});

Additionally, you may want change cursor style to create impression that an image is clickable:
#slideshow {cursor: pointer;}

tomek on March 1, 2010 at 6:50 pm

It’s really nice plugin, but also it breaks any lightbox or fancybox plugin. Do you have any idea about that?

Ahmed on March 1, 2010 at 1:23 pm

Awesome jQuery plugin, this is what I’ve been looking for!
Thanks for sharing this awesome plugin.

Yogi on March 1, 2010 at 7:13 am

Love the work man… really great stuff.

Tendai Machaka on March 1, 2010 at 3:59 am

Sweet stuff!
Is there anyway of styling the caption without using tags inside your alt text attribute? That would cause a fairly hefty html error!

Looking forward to being able to add links to the images!
Email me when that happens if possible!

Christo on February 28, 2010 at 7:51 pm

@Ivan. Hvala na informacijama :). BTW, odlican i koristan plugin. Great job man!!!

Mirhet on February 28, 2010 at 6:59 pm

Hi!
I just want to ask you to correct this part from your post which says ”
$(‘#slideshowHolder’).jqfancytransitions({ width: 400, height: 300 });
” to ”
$(‘#slideshowHolder’).jqFancyTransitions({ width: 400, height: 300 });
” because if one writes jqfancytransitions all in lower case just like you have in the directions, the plug-in won’t work. It’s not that important coz after you put some thought to it you figure out the mistake but I think it might be confusing for unexperienced users who follow your directions or copy/paste. 10x.

P.S. Great job, very beautiful and useful.

pyrhav on February 28, 2010 at 6:20 pm

@Shahzad
Not for now, maybe in jqFancyTransitions2 : )

@Mirhet
This is jQuery plugin so you can use it whenever you want. Just follow instructions from post.

Lazarevic Ivan on February 28, 2010 at 5:14 pm

Hi Ivan. I was wondering if this plugin only made to be used on WordPress or it can be used on hand coded personal web sites, such as portfolio. Thank you in advance.

Mirhet on February 28, 2010 at 4:47 pm

Leave a Reply

Your email address will not be published. Required fields are marked *