<style>
    div {
        width: 50px;
        height: 50px;
        background-color: yellow;
    }

    div.green {
        width: 100px;
        background-color: green;
        -webkit-transition-property: background-color;
        -webkit-transition-duration: 5s;
    }

    div.square {
        width: 100px;
        height: 100px;
        -webkit-transition-property: height;
        -webkit-transition-duration: 2s;
    }
</style>
<p id="instructions">
    When you click the Change button, the shape will
    <span id="description"></span>.
    <button style="display: block;" onclick="transition()">Change</button>
</p>
<div id="target"></div>
<script>
    var state = 0;
    var transitions = [
        {className:"green", description:"instantly change into a rectangle and fade from yellow to green over 5 seconds"},
        {className:"", description:"instantly change into a small yellow square"},
        {className:"square", description:"instantly change into a yellow rectangle and then animate into a big yellow square over 2 seconds"},
        {className:"green", description:"instantly change into a yellow rectangle and then animate to a green rectangle over 5 seconds"},
        {className:"", description:"instantly change into a small yellow square"},
        {className:"green", description:"instantly change into a yellow rectangle and fade from yellow to green over 5 seconds"},
        {className:"square", description:"instantly change to a yellow rectangle and then animate into a large yellow square over 2 seconds"},
        {className:"", description:"instantly change into a small yellow square"}
    ];

    document.getElementById("description").innerText = transitions[0].description;

    function transition()
    {
        var target = document.getElementById("target");
        target.className = transitions[state].className;
        state++;
        if (state < transitions.length)
            document.getElementById("description").innerText = transitions[state].description;
        else {
            document.getElementById("instructions").innerText = "Done.";
        }
    }
</script>
