関数に多くの問題があり、変数のスコープと混同しています。コールバック関数で試してみましたが、取得できません。
cssで背景をアニメーション化する機能があります。setInterval の実行中にもう一度クリックしたときに、関数がインクリメンタ変数を 0 に再起動しないようにする必要があります。html の time1 または time2 で a を 2 回クリックすると、counter の順序が保持されないことがわかります。
function movie(elm,jumpPx,spriteHeight,duration){
var inc=0;
var time=setInterval(function(){
if(inc<spriteHeight){
inc+=jumpPx;
//elm.style.backgroundPosition='0px -'+inc+'px';
elm.innerHTML=inc;
}else{
clearInterval(time);
elm.style.backgroundPosition='0px -0px';
}
},duration);
}
<p onclick="movie(this,1,1000,1000)">time1</p>
<p onclick="movie(this,1,1000,1000)">time2</p>