| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | 
 |    "http://www.w3.org/TR/html4/loose.dtd"> | 
 |  | 
 | <html lang="en"> | 
 | <head> | 
 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | 
 |   <title>Transition Events</title> | 
 |   <style type="text/css" media="screen"> | 
 |     #box1 { | 
 |       position: relative; | 
 |       width: 100px; | 
 |       height: 100px; | 
 |       margin: 10px; | 
 |       background-color: blue; | 
 |       z-index: 0; | 
 |       transition-property: left; | 
 |       transition-duration: 2s; | 
 |       left: 0px; | 
 |     } | 
 |  | 
 |     #box2 { | 
 |       position: relative; | 
 |       width: 100px; | 
 |       height: 100px; | 
 |       margin: 10px; | 
 |       background-color: red; | 
 |       z-index: 0; | 
 |       transition-property: left; | 
 |       transition-duration: 2s; | 
 |       left: 0px; | 
 |     } | 
 |  | 
 |     #log { | 
 |       position: absolute; | 
 |       width: 90%; | 
 |       height: 200px; | 
 |       overflow: scroll; | 
 |       border: 1px solid black; | 
 |     } | 
 |   </style> | 
 |   <script type="text/javascript" charset="utf-8"> | 
 |  | 
 |     var switch1 = true; | 
 |     var switch2 = false; | 
 |      | 
 |     document.addEventListener('transitionend', function(e) { | 
 |       var id = "1"; | 
 |       if (switch1) { | 
 |         id = "2"; | 
 |       } | 
 |       var offset = 200; | 
 |       if (switch2) { | 
 |         offset = 0; | 
 |       } | 
 |       var box = document.getElementById("box" + id); | 
 |       box.style.left = "" + offset + "px"; | 
 |       switch1 = !switch1; | 
 |       if (!switch1) switch2 = !switch2; | 
 |       logTransition(event); | 
 |     }, false); | 
 |  | 
 |     function doClick(obj) | 
 |     { | 
 |       var box1 = document.getElementById("box1"); | 
 |       box1.style.left = "200px"; | 
 |     } | 
 |  | 
 |     function logTransition(event) | 
 |     { | 
 |       var log = document.getElementById('log'); | 
 |       log.innerHTML = log.innerHTML + '<br>Property: ' + event.propertyName + ' Time: ' + event.elapsedTime; | 
 |     } | 
 |   </script> | 
 | </head> | 
 | <body> | 
 |   <h2>Transition Events</h2> | 
 |   <p>Click to start transitions. Once started, transition end events should keep | 
 |     things moving forever.</p> | 
 |   <div id="container" onclick="doClick(this)"> | 
 |     <div id="box1"> | 
 |     </div> | 
 |     <div id="box2"> | 
 |     </div> | 
 |   </div> | 
 |  | 
 |   <div id="log"> | 
 |      | 
 |   </div> | 
 | </body> | 
 | </html> |