繁体   English   中英

将参数传递给函数

[英]Passing arguments to functions

我没有看到这段代码有什么问题,但是它没有按预期工作。

function slide(slideIndex, slideDirection) {
    console.log(slideDirection); // outputs 'right'
    $('.slide').animate({slideDirection: '-=940'}, 400);
}    

$(function(){
    $('.prev','.slide').click(function (e) {
        e.preventDefault();

        var slideIndex = $(this).closest('.slide').index(),
            slideDirection = 'right';

    slide(slideIndex, slideDirection);
    });
});

如果我在animate方法中仅使用字符串“ right”,那么它将起作用。 我究竟做错了什么?

您正在使用名为slideDirection的属性创建对象文字,而不使用参数的值。 为此,您需要分两个步骤分别创建一个对象:

var obj ={};//empty object literal
obj[slideDirection] = '-=940';//assign a new property
$('.slide').animate(obj, 400);

这应该够了吧。 您的json格式的对象看起来像这样: {"slideDirection":"-=940"}我的 (或我所解释的对象)看起来像这样: {"right":"-=940"} 如果我没记错的话,后者就是您所需要的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM