0

ページ ナビゲーション用の「スライドショー」を作成しています。

すべてのメニュー項目にイベントリスナーを追加するために forloop を使用しようとしています。そして、それはうまくいかないようです。基本的に、パラメーターに基づいて新しいページを表示する関数があります。

function slidePFer(page_side){

そして、これは次のようにイベントリスナーを手動で設定することで完全に機能します:

showPF  = document.getElementsByClassName('showPF');

showPF[0].addEventListener('click', function(){ slidePFer(0); }, false);
showPF[1].addEventListener('click', function(){ slidePFer(1); }, false);
showPF[2].addEventListener('click', function(){ slidePFer(2); }, false);
showPF[3].addEventListener('click', function(){ slidePFer(3); }, false);

ただし、これは非常に面倒です。だから私はそれをすべて異なるループで実行しようとしました。そして、私はそれを機能させることができません.これは私が試したより有望なループの1つです:

for(var i=0, n=showPF.length; i<n; i++){
    showPF[i].addEventListener('click', function(){ slidePFer(i); }, false);
}

私が理解していないように見えることを誰かが見ることができますか?

4

3 に答える 3

1

function(i) から i を削除します。おそらくこれで修正されます

于 2013-10-17T10:00:22.833 に答える