元素初始化中的JQuery UI变量

JQuery UI Variables in Element Initialization

本文关键字:UI 变量 JQuery 初始化 元素      更新时间:2023-09-26

我在一个使用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插件需要一个数字。