我在一个使用JQuery UI显示一些选项卡和手风琴的网站上工作,但当我在元素初始化中使用变量时,我遇到了障碍。基本上,我需要从URL stuff/1/0
中读取一些数字,并根据它们选择性地激活手风琴的各个部分。这就是我目前所拥有的:
$(document).ready(function() {
//Get URL
var href = window.location.pathname;
//Get Segments
var segs = href.split('/');
if(segs.length > 2)
{
var active_tab = segs[segs.length - 1];
var active_unit = segs[segs.length - 2];
alert(active_tab);
alert(active_unit);
//Check if its a number
if(!isNaN(active_unit))
{
//Accordions
$( ".accordion" ).accordion
({
active: active_unit,
autoHeight: false,
collapsible: true
});
}
//Check if its a number
if(!isNaN(active_tab))
{
//Tabs
$( ".tabs" ).tabs
({
selected: active_tab
});
}
}
});
但是,这似乎根本不会影响手风琴,即使我成功地获得了URL片段。显然,这是因为active_tab/active_unit变量没有被解析到accordonal/tab设置中。有其他方法可以做到这一点吗?事先谢谢!
您从url中解析出的值是字符串。你需要把它们解析成数字:
var active_tab = parseInt(segs[segs.length - 1], 10);
var active_unit = parseInt(segs[segs.length - 2], 10);
它可能不起作用,因为accordian插件需要一个数字。