Я никогда не разбирался в работе JS именно с css-анимацией (это, собственно, никогда нафиг и не нужно было), поэтому не знаю создаются ли события начала и окончания анимации (очень вряд ли создаются).
Я бы реализовал нужное очень примерно так:
var timer=false,
animDuration=500,//Продолжительность анимации
button=document.getElementById('button'),
textarea=document.getElementsByTagName('textarea')[0];
button.addEventListener('click',function(){
textarea.value+="\n"+'Animation begin.';
if(timer!==false)
clearTimeout(timer);
timer=setTimeout(function(){
textarea.value+="\n"+'Animation end.';
},animDuration);
});