我相信这对于大多数人来说都很简单,但是我正在努力学习这个概念。我只需要一点帮助。我已经发表了足够的评论来解释发生了什么。谢谢!

//tabNavItem is an anchor link
$(tabNavItem).on("click", function(e){
    var currSlide = $(this).attr("rel");
    console.log(currSlide); // right here the value is equal to the rel of the link i click. this is correct!
    slideAnimation(); // i tried slideAnimation.call(currSlide) but got nothing and i tried slideAnimation(currSlide) and got 1 every time
    e.preventDefault();

});

function slideAnimation(){

    allTabs.hide();
    $(".active").removeClass("active");
    $("#" + currSlide).show();
    $("." + tabNavClass + " a[rel=" + currSlide + "]").addClass('active');

    console.log(currSlide); //right now this equals 1, the rel of the first item.

};

最佳答案

您必须将函数声明为实际上接受参数,如下所示:

function slideAnimation(currSlide){


然后可以在调用参数时传递参数

slideAnimation(currSlide);


如果您不知道,请注意JavaScript不会尝试确保参数的类型,并且该参数不必与要传递的值具有相同的名称。

关于javascript - 我需要将变量传递给函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15940223/

10-13 02:23