【发布时间】:2012-03-21 20:38:51
【问题描述】:
我有这个:
$('#slider li').click(function () {
var stepClicked = $(this).index();
alert(stepClicked);
if (stepClicked != 0) {
$('#cs_previous').removeClass('cs_hideMe');
} else {
$('#cs_previous').addClass('cs_hideMe');
}
$('li.cs_current').removeClass('cs_current');
$($(this)).addClass('cs_current');
moveToNextImage(stepClicked);
function moveToNextImage(stepClicked) {
alert(stepClicked);
var currentIs = $('li.cs_current').index();
var newLeftEdge = currentIs - stepClicked;
$('.cs_riskStageImage').fadeTo(200, .2).animate({
left: newLeftEdge
}, "fast").fadeTo(200, 1);
};
});
警报显示单击的 li 的正确索引,当我在我调用的最后一个函数 moveToNextImage(stepClicked) 中警报变量时,显示相同的值但动画没有发生。这适用于许多其他方式,但我试图传递单击的列表项的索引值以用于数学计算。
..或者我可以将第一个函数中的值转换为另一个变量,然后传递给第二个函数吗?
【问题讨论】:
-
"我可以将“this”作为参数传递给 javascript 中的另一个函数吗" --- 可以,它是一个引用当前对象的普通变量。有什么问题吗?
-
$($(this))应该只是$(this)。
标签: javascript jquery parameters this