Over a million developers have joined DZone.
Platinum Partner

ColdFusion ORM Book Experimenting with CSS3 transition callbacks

· Web Dev Zone

The Web Dev Zone is brought to you in partnership with Mendix. Download this Forrester Report to gain a better understanding of the low-code platform market and how to make a strategic platform selection you won’t regret.

I was discussing with my colleague Andy Beer about replacing some jQuery animation with CSS3 transitions so that we could make use of hardware acceleration. This lead me to start thinking about how you'd handle callbacks if you wanted to chain together animations as CSS doesn't have events.

I found some information over on the Mozilla Developer Network site showing that you can add event listeners to DOM elements using JavaScript which will fire when the transitions completes. Unfortunately Webkit and Firefox use a different eventname and IE10 doesn't seem to work at all even though the docs say it should.

Here's a fiddle of what I've got.

There are a couple of things to note here; firstly that FireFox uses the 'transitionend' event name (and IE is supposed to as well) and WebKit based based browsers use webkitTransitionEnd. The other thing, which I hadn't expected was that the event fires twice - once for the end of the left transition, and again once the top transition ends. If you ran the fiddle you will have noticed that I've logged the property name of the completed transition by calling e.propertyName. 

So, if you wanted to fire another animation, you could do so from the transitionEnd function. However as it's not widely adopted, I can't see myself using this in production just yet.

The Web Dev Zone is brought to you in partnership with Mendix. Better understand the aPaaS landscape and how the right platform can accelerate your software delivery cadence and capacity with the Gartner 2015 Magic Quadrant for Enterprise Application Platform as a Service.

Topics:

Published at DZone with permission of John Whish , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}