2012-03-16 7 views
1

JQuery UIを使用していくつかのタブとアコーディオンを表示するサイトで作業していますが、要素の初期化の中で変数を使用するとロードブロックに入ります。基本的には、URL stuff/1/0からいくつかの数字を読んで、それらに基づいてアコーディオンの一部を選択的にアクティブにする必要があります。要素の初期化におけるJQuery UI変数

$(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変数がアコーディオン/タブ設定に解析されていないためです。これを達成する他の方法はありますか?あらかじめありがとう!

答えて

2

URLから解析した値は文字列です。あなたは数字にそれらを解析する必要があります。

var active_tab = parseInt(segs[segs.length - 1], 10); 
var active_unit = parseInt(segs[segs.length - 2], 10); 

アコーディオンプラグインが多数を期待していたので、それはおそらく働いていませんでした。

+0

完璧で、感謝しました! – SuperTron