jQuery ready函数值传递给JavaScript函数

时间:2009-08-12 15:24:50

标签: javascript jquery

我有以下jQuery代码。正如您所看到的,我有一个警报,根据this.getIndex()的值显示我当前的选项卡。

我的问题是,如何才能访问此值,以便我可以在其他不包含ready(function)的JavaScript函数中使用它?

我希望能够说出来:

tabIndx = this.getIndex()当此值发生变化时,我想在ready(function)之外的另一个函数中使用它,比如说

var tabIndx;

$(document).ready(function(){ 

    // initialize scrollable 
    $("div.scrollable").scrollable({
        size: 1,
        items: '#thumbs',  
        hoverClass: 'hover',
                onSeek: function() {
                  alert("Current tab is: "+ this.getIndex()); 
                }
    });
});


function showVal() {
  alert("current tab selected is: "+ tabIndx);
}

因此,每次单击不同的选项卡时,我都希望使用tabIndx的正确值触发showVal()函数。

2 个答案:

答案 0 :(得分:2)

替换它:

alert("Current tab is: "+ this.getIndex()); 

有了这个:

tabIndx = this.getIndex();
showVal();

这就是它的全部。 $(document).ready()函数没有什么特别之处。它只是一个普通的JavaScript函数,碰巧带有jQuery,而jQuery恰好在文档准备就绪时调用。

您可以使用任何JavaScript函数自由调用其他函数,并访问在$(document).ready()之外声明的变量。

答案 1 :(得分:0)

您已宣布您的tabIndx是全球性的,因此这应该足以满足您的需求。我也会把它初始化:

var tabIndx = 0;

在jQuery中使用this的方式将引用回选择器中的div(div.scrollable),因此将它与getIndex()函数结合使用有点无意义。< / p>

参考tabIndx获取价值或设置应该没问题。

除非我完全误解了你想要的东西......