将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();
答案 0 :(得分:4)
只需删除循环最后一行中的function
关键字
var positions = 100 * j;
currentPosition.push(positions);
function moveIt(j);
喜欢这样
var positions = 100 * j;
currentPosition.push(positions);
moveIt(j);
答案 1 :(得分: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.
}
}