74 lines
1.6 KiB
HTML
74 lines
1.6 KiB
HTML
<html>
|
|
<head>
|
|
<style>
|
|
.box {
|
|
position: relative;
|
|
left: 0;
|
|
height: 100px;
|
|
width: 100px;
|
|
margin: 10px;
|
|
background-color: blue;
|
|
-webkit-transition-property: width, left, background-color, height, top;
|
|
-webkit-transition-duration: 0.2s;
|
|
}
|
|
|
|
.box1 {
|
|
left: 50px;
|
|
}
|
|
|
|
.box2 {
|
|
background-color: red;
|
|
left: 100px;
|
|
}
|
|
</style>
|
|
<script src="transition-end-event-helpers.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
var expectedEndEvents = [
|
|
// [property-name, element-id, elapsed-time, listen]
|
|
["left", "box1", 0.2, false],
|
|
];
|
|
|
|
function startTransition()
|
|
{
|
|
var box = document.getElementById("box1");
|
|
box.className = "box box2";
|
|
}
|
|
|
|
var firstTimeInHandleEndEvent = true;
|
|
function handleEndEvent(event)
|
|
{
|
|
recordTransitionEndEvent(event);
|
|
|
|
event.target.style.webkitTransitionProperty = "none";
|
|
if (firstTimeInHandleEndEvent) {
|
|
firstTimeInHandleEndEvent = false;
|
|
window.setTimeout(startTransition, 100);
|
|
}
|
|
}
|
|
|
|
function setupTest()
|
|
{
|
|
var box = document.getElementById("box1");
|
|
box.addEventListener("webkitTransitionEnd", handleEndEvent, false);
|
|
box.className = "box box1";
|
|
}
|
|
|
|
// We need to pass an explicit maxTime because we use two sequential
|
|
// transitions that each take 0.2s.
|
|
runTransitionTest(expectedEndEvents, setupTest, 0.5);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<p>Initiating transitions on various properties of all boxes.</p>
|
|
|
|
<div id="container">
|
|
<div id="box1" class="box"></div>
|
|
</div>
|
|
|
|
<div id="result"></div>
|
|
|
|
</body>
|
|
</html>
|