我能通过吗;这";作为javascript中另一个函数的参数
我有这个:我能通过吗;这";作为javascript中另一个函数的参数,javascript,jquery,parameters,this,Javascript,Jquery,Parameters,This,我有这个: $('#slider li').click(function () { var stepClicked = $(this).index(); alert(stepClicked); if (stepClicked != 0) { $('#cs_previous').removeClass('cs_hideMe'); } else { $('#cs_previous').addClass('cs_hideMe');
$('#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)
,将显示相同的值,但动画不会发生。这在许多其他方面都有效,但我试图传递单击列表项的索引值,以用于数学计算
..或者我可以将值转换为第一个函数中的另一个变量,并将其传递给第二个函数吗?您可以将此
传递给另一个函数,如下所示:
moveToNextImage(单击此步骤);
函数moveToNextImage(对象,单击步骤){
var指数=$(obj)。指数;
}
在您的代码中,这一行是什么意思:
$($(this)).addClass('cs_current');
应该是:
$(this.addClass('cs_current');
javascript函数call()
和apply()
都是为了在上下文中调用函数
function sum() {
return this.num1 + this.num2;
}
function callSum(num1, num2) {
this.num1 = num1
this.num2 = num2
return sum.call(this); //call sum() in the context of this
}
alert(callSum(10, 15));
function applySum(num1, num2) {
this.num1 = num1
this.num2 = num2
return sum.apply(this); //call sum() in the context of this
}
alert(applySum(30, 45));
现在在sum()
call()
和apply()
之间的区别在于,apply的第二个参数要么是要传递的参数数组,要么是一个arguments
对象。“我可以将“this”作为参数传递给javascript中的另一个函数吗?”——可以,它是一个引用当前对象的普通变量。有什么问题吗?$($(this))
应该是$(this)
。我认为问题是,既然+既是一个数字运算符又是一个字符串连接,那么当我试图用另一个变量添加包含“this”的变量时,结果是一个新的字符串…我需要解析索引值以保持它为一个数字,我认为。。。。多谢大家,我需要回顾一下这些,我会做出适当的回应。当然不用担心。请记住,虽然其他人会搜索所问问题的标题,但如果你在标题中标出回答问题的答案,这对他们最有利。如果将来您确实需要在特定上下文中调用方法,这些就是javascript语言提供的方法。。。我在尝试其他东西,包括索引和值。这应该是$(这个)…kj