我有以下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()
函数。
答案 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
获取价值或设置应该没问题。
除非我完全误解了你想要的东西......