From our sponsor: Meco is a distraction-free space for reading and discovering newsletters, separate from the inbox.
Today we want to share a simple and fun circular slideshow with you. It’s an experimental concept and the idea is to flip a circle in a specific angle depending on which spot of the circle we click. There are three different possibilities for each side: top, middle and bottom. For example, when clicking on the top right part of the image, the circle will flip in the associated angle, making it look as if we press down that part and reveal the next image that is on the back face of the circle.
The demo features illustrations by Isaac Montemayor. See his works on Dribbble or on his website.
This is how the structure looks like:
<div id="fc-slideshow" class="fc-slideshow"> <ul class="fc-slides"> <li><img src="images/1.jpg" /><h3>Hot</h3></li> <li><img src="images/2.jpg" /><h3>Cold</h3></li> <li><img src="images/3.jpg" /><h3>Light</h3></li> <li><img src="images/4.jpg" /><h3>Dark</h3></li> <li><img src="images/5.jpg" /><h3>Soft</h3></li> <li><img src="images/6.jpg" /><h3>Hard</h3></li> <li><img src="images/7.jpg" /><h3>Smooth</h3></li> <li><img src="images/8.jpg" /><h3>Rough</h3></li> </ul> </div>
And we transform it into the following:
<div id="fc-slideshow" class="fc-slideshow"> <ul class="fc-slides"> <!-- ... --> </ul> <nav> <div class="fc-left"> <span></span> <span></span> <span></span> <i class="icon-arrow-left"></i> </div> <div class="fc-right"> <span></span> <span></span> <span></span> <i class="icon-arrow-right"></i> </div> </nav> <div class="fc-flip"> <div class="fc-front"> <div><img src="images/4.jpg"><h3>Dark</h3></div> <div class="fc-overlay-light"></div> </div> <div class="fc-back"> <div><img src="images/5.jpg"><h3>Soft</h3></div> <div class="fc-overlay-dark"></div> </div> </div> </div>
Tiny break: 📬 Want to stay up to date with frontend and trends in web design? Subscribe and get our Collective newsletter twice a tweek.
The nav element has some empty spans that serve as “detection areas”. Each side of the circle has three areas that will be clickable, one at the top, one in the middle and one at the bottom. The i element will serve as a navigation arrow and depending on which span we are hovering, we will rotate the little arrow box to the right place. But we won’t use the arrow as the clickable area but the whole span.
The division for the circle flip contains a special 3D structure: it has a front and a back side. Once we navigate to the next or previous item, we will show that structure and rotate the flip container so that we see the back side.
The overlays make everything look a bit more realistic by providing light or darkness. We animate the opacity depending on the angle of rotation.
We simply call the plugin like this:
$( '#fc-slideshow' ).flipshow();
And this are the options for the plugin:
// the options $.Flipshow.defaults = { // default transition speed (ms) speed : 700, // default transition easing easing : 'cubic-bezier(.29,1.44,.86,1.06)' };
Please note, that this is very experimental and will only work as intended in browsers that support CSS 3d transforms. For others there is a simple fallback that simply shows and hides the previous or next item.
We hope you find this little plugin inspiring!
Very cool design idea. Will give it a try in one of my next projects for sure! 🙂
Very nice effect.
Hi,
Mary Lou Really! nice one thanks for this.
🙂 would Marry Mary
It is funny ;)…..i wonder why that does not have reposive design?..
No works in Chrome v. 24.0.1312.56 =(
It’s weird. Works for me on the same version ;).
MAC OS, Chrome – 24.0.1312.56
Same here doesn’t work for Chrome v. 24.0.1312.56
Great work MARY, Thanks !
Just does nothing.
Chromium
Version 23.0.1271.97 Ubuntu 12.10 (23.0.1271.97-0ubuntu0.12.10.1)
Same here.
Version 23.0.1271.97 Ubuntu 12.04 (23.0.1271.97-0ubuntu0.12.04.1)
Yeah! it does’t works at chrome
Excellent Slideshow plugin! Love the subtlety of the L and R buttons rotating according to mouse position.
Awesome 🙂
Cool Design, Thanks
Cute! thanks Mary Lou
What is the best way to check if a browser support this, because on mobile and some chrome browser apparently it doesn’t work. So it would be awesome to load something else and still use this cool thing in production.
It’s not working in chrome and some browsers .
Thanks everybody, I will try to figure out why it doesn’t seem to work for some Chrome versions. Works fine in the latest one on Mac and Win. Cheers, ML
Hi,
Just kind of works in Safari 5.1.7: First image changes fine, but then the buttons don’r work, and seem to have conflicting locations.
(I know it’s an “old” browser, but it’s not THAT old…)
Mary Lou this is awesome… keep it up..
Works fine in my chrome to, but strange that it doesn’t work on mobile, isn’t that webkit transformation the same as chrome?
awesome work ML, sure will try to use in my coming projects…. kool
Fantastic and so creative! Thanks for sharing!!!
I have created a jQuery plugin for complex animations in JS. https://github.com/grsabreu/Animelt-Plugin, see a demo http://grsabreu.github.com/Animelt-Plugin
Looks like a good start, would be nice to see something like a slider with your plugin.
I am trying to find how to add the class active to the li, but can’t. Any suggestions, i am going to try to make it more responsive to an place the update here.
Haha. That’s cute and cool effect. I will apply it i my website. 🙂
wow thats great
Wow! How creative….
how to apply auto play 😀
For those that say it’s not working- it’s probably because you are on hardware or an OS that doesn’t have good hardware acceleration.
Mary- I’d be very interested in a more detailed explanation of how you go about changing the slides in and out of the correct side of the ‘flipper’.
Just wanted to say Thanxx 2 you.. It’s Awesome.
Simply awesome! Thanks for your inspiration!
its perfect for my next project! thanks a bunch!!!
very good but does not work on tablets!!!
Hi very good!
could operate automatically?
it looks cool in Firefox, but it simply doesnt work in Chrome. didnt test other browsers.
And i primarily use Chrome.
how to make it auto play
Is there any option to make it into a automatic Slideshow ?
Great feature!!! How can I make it auto-play?
Hello, how to attach “a” tags to the images inside the circle? For example, Hot
Does not work anymore on Chrome’s latest version :/
Hi Loïc,
we’ve updated the ZIP file and the demo; it should work now in the latest version of Chrome. Thank you for your feedback,
cheers, ML
Thanks Mary Lou, it works like a charm!
What is different in the new version? I can’t find what is changed in the new code.
Hi, I wanna put 2 flipping circle in the same page, How can I do it?
Thanks!
I’m wondering this exact same thing. Trying to build a team section and it works for 1 of the circles, but the rest do not display the photos. Not sure how to get this going.
Thanks 🙂
if you’re still interested, all you have to do is change the div’s name from “fc-slideshow” to -for example- “fc-slideshow2”, then in the script that is embed in the html you add another instance to the function, like this:
$( function() {
$( ‘#fc-slideshow’ ).flipshow();
$( ‘#fc-slideshow2’ ).flipshow();
} );
Hope it helps!
*not the divs name, the ID, sorry
🙂
Hi, if you want to make it flip automatically, it is quite simple.
before you initialise the plugin, eg
$(element).flipshow();
you can add a public method named navigate and then call it from within a setTimeout function.
$.Flipshow.prototype.navigate=function(element,direction){ this._navigate(element,direction); }; $("#fcSlideshow").flipshow(); setInterval( function() { $('#fcSlideshow').flipshow('navigate',$("#fcSlideshow div.fc-right span:first"),'right'); }, 3000);
Please can you be more detailed on where to add this
Hi, would like to know how to make it flip automatically, i used your code but don’t run automatically.
This is the code how is
—————————————————————————————————-
$( function() {
$.Flipshow.prototype.navigate=function(element,direction){
this._navigate(element,direction);
};
$(“#fcSlideshow”).flipshow();
setInterval( function() {
$(‘#fcSlideshow’).flipshow(‘navigate’,$(“#fcSlideshow div.fc-right span:first”),’right’);
}, 3000);
$( ‘#fc-slideshow’ ).flipshow();
} );
Change the div id from #fc-slideshow to #fcSlideshow as used in the script and it will work.
Great slide show
Just awesome! I love your work. Keep going!
hi there, I’m a newbie. Would you please tell me whats wrong, I’ve already copy and link every css and js file.. but the pictures aren’t visible. Only circle appeared.
thanks
Amazing job, tks Mary.
One question. How can I put to circle in the same page?
Tks
Great Job Mary!!
Hey im trying to put it to flip Automatically, but my knowledge is very basic, im trying like this:
$. Flipshow.prototype.navigate = function (element, direction) {
this._navigate (element, direction);
};
$ (“# fcSlideshow”). flipshow ();
setInterval (function () {
$ (‘# fcSlideshow’). flipshow (‘navigate’, $ (“# fcSlideshow div.fc-right span: first ‘),’ right ‘);
}, 3000);
$ (Function () {
$ (‘# Fc-slideshow’). Flipshow ();
});
Can you help me?
hello there 🙂 why is that it doesn’t work in other browser? where is it compatible with? what version of java, etc? :O thanks in advance ~
is possible to make something like this with auto rotate http://codecanyon.net/item/all-around-jquery-content-slider-carousel/full_screen_preview/4809047?ref=lvraa
-the mode with widget style
-portfolio but just the logos not the details mode
-our team is also good
Beautiful Plugin, however I had this little request that can we get this to work on Internet Explorer (atleast on the latest version i.e. 10) ? Pretty please. 🙂
Hi! Thank you for this cool effect!! It’s an awesome web magic 😉
I’m trying to connect this effect with a slideshow in jquery. I’d like to use it like a caption for my slider but I can see no way to do it…
Do you think is it possible? I’ve to use a kind of callback?
Hope someone can help me!
Thanks a lot
Hi Mary !!!
I Just Love your Work !!! I also sent you a message on Facebook if you can guide me on How you create such awesome stuff. I mean that i can implement it all by Copy/Paste but i want to create such stuff by my own. Can you please guide me ?
Thanks !!!
Not on Github?