0

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

//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.

};
4

3 回答 3

3

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

function slideAnimation(currSlide){  

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

slideAnimation(currSlide);

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

于 2013-04-11T03:29:39.123 回答
1
//Add an argument here
function slideAnimation(item){
    allTabs.hide();
    $(".active").removeClass("active");
    $("#" + item).show();                          
    $("." + tabNavClass + " a[rel=" + currSlide + "]").addClass('active');          
};

//then call it like this 
$(tabNavItem).on("click", function(e){
    var currSlide = $(this).attr("rel");
    slideAnimation(currSlide);
    e.preventDefault();
});
于 2013-04-11T03:31:07.687 回答
0

提示:添加参数到slideAnimation

function slideAnimation (currSlide){
    // snip
}
于 2013-04-11T03:29:21.300 回答