window.setTimeout( function(arg){ alert(arg); }, i * 1000, argument ); setTimeout/setIntervalの第3引数に渡したい値(argument)を入れて,関数の部分を書き換える. が,これだとIEで問題があるかもしれないので, (function(arg){ arg.timerID = window.setTimeout( function(){ new Element.show(arg.target); }, 500 ); })(this); とすることで,timerIDとかthisとか渡せる.