の要素のIDなしで私はJavaScriptでフェードアニメーションのための次のコードを持っているのsetTimeoutを呼び出す:問題はこのラインであるJavascriptを
var ticks = 20;
function fadein(tick,element){
if(element == null)
return;
element.style.opacity = tick/ticks;
if(tick < ticks) {
var s = "fadein(" + (tick+1) + "," + element + ")";
setTimeout(s, 500/ticks);
}
}
:
var s = "fadein(" + (tick+1) + "," + element + ")";
は、要素は、その文字列表現に変換され、次の反復でエラーが発生します。私は、すべての要素がIDを渡してIDを持っていれば、私はこれを行うことができることを知っていますが、私は異なる時代に多くの異なるものをフェードインしたいので、それぞれに名前を付けたくありません。 jsでこれを行う方法はありますか?
'setTimeoutまたはsetIntervalを文字列パラメータで使用するのは悪い習慣と考えられます。どうして? – RobG
@RobG MDNを引用するには:「eval()を使用するのと同じ理由でこの構文を使用することは推奨されません」(eval!を使用しないでください)(https://developer.mozilla.org/ja/JavaScript)/Reference/Global_Objects/eval#Don%27t_use_eval!) – Sirko
クールです。フレーズ「悪い練習」や「ベストプラクティス」などを書いている場合は、常に理由を説明してください。 – RobG