0

for ループの 'i' を別の関数に渡す方法は何ですか?
<ul> の左位置を変更するクリック関数を取得する必要がありますが、クリックするたびに、インデックス位置に従って配列に格納されている値を使用する必要があります。

var currentPosition = new Array();

// store some values in an array
function slide() {
  for (j = 0; j < 5; j++) {
    var positions = 100 * j;
    currentPosition.push(positions);
    function moveIt(j);
  }
}

function moveIt(j) {
  $(document).on('click','#left', function() {
    $('ul').animate({'left': currentPosition[j]  + 'px'});
  })   
}

slide();  

http://jsfiddle.net/cadence96/gTQ3M/1/

4

2 に答える 2

4

functionループの最後の行にあるキーワードを削除するだけです

var positions = 100 * j; 
currentPosition.push(positions); 
function moveIt(j); 

そのようです

var positions = 100 * j; 
currentPosition.push(positions); 
moveIt(j); 
于 2012-05-21T02:49:11.927 に答える
3
function slide() {
  for (var j = 0; j < 5; j++) {
    var positions = 100 * j;
    currentPosition.push(positions);
    //function moveIt(j); <=================== delete this.
        moveIt(j); //<======================== Change to this.
  }
}

あなたの更新されたフィドル

于 2012-05-21T02:47:01.767 に答える