transition-events.html   [plain text]


<!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;
      -webkit-transition-property: left;
      -webkit-transition-duration: 2s;
      left: 0px;
    }

    #box2 {
      position: relative;
      width: 100px;
      height: 100px;
      margin: 10px;
      background-color: red;
      z-index: 0;
      -webkit-transition-property: left;
      -webkit-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('webkitTransitionEnd', 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>