Accordion API docsはそれほど簡単ではないため、activate()
の機能は広告として機能しないように見えるため、これはやや厄介なことになります。
あなたの質問からは、div IDを参照してアコーディオンセクションを開くように思えます。これは箱から出ることはできません。 0ベースのインデックス(0 =最初のセクション、1 = 2番目のセクションなど)を使用しているセクションのみを識別できます。
は、このアプローチがうまくいく、と述べた:アコーディオンを含むページで
<a href="10387904_Accordion_link_2.html?openAccordionId=0">Open first item</a>
<a href="10387904_Accordion_link_2.html?openAccordionId=1">Open second item</a>
<a href="10387904_Accordion_link_2.html?openAccordionId=2">Open third item</a>
、クエリ文字列からIDを抽出するために、次のコードを使用して:
は、このようなリンクを定義します
// Using the parseQueryString extension from
// http://paulgueller.com/2011/04/26/parse-the-querystring-with-jquery/
$.extend({
parseQuerystring: function() {
var nvpair = {};
var qs = window.location.search.replace('?', '');
var pairs = qs.split('&');
$.each(pairs, function (i, v) {
var pair = v.split('=');
nvpair[pair[0]] = pair[1];
});
return nvpair;
}
});
// Get the index of the section we want to open from the querystring.
var openAccordionId = parseInt($.parseQuerystring()["openAccordionId"]);
// Initialise the accordion with the active section defined.
var accordion = $("#accordion").accordion({ active: openAccordionId });
// Note: for some reason, the following does not work:
// var accordion = $("#accordion").accordion();
// accordion.activate(openAccordionId);
私の答えに解決策を適用する運がありましたか? –