スクリプトでアンカー タグを使用しているため、ページに戻ったときに元の位置を保存できます。問題は、リンクをクリックしたときにのみ機能することです。ページを更新したり、ページに戻ったりしても、そうではありません。何が表示されないのですか? 信じられないかもしれませんが、これは Chrome の問題です。実際には IE で正常に動作します!!! (今言ったことが信じられません)
function parseXML(xml)
{
//find every Category and print the title
var output = '';
var ms = 0;
$(xml).find("category").each(function()
{
output += '<h3>' +$(this).find("title").text() + '<a name="m' + (ms+1) + '"></a> </h3> ' ;
var div = '<div>';
output += '<ul>';
$(this).find('items > item').each(function() {
var text = $(this).find("text").text();
var slink = $(this).find("link").text();
output += "<li class='subLink' src='"+ slink + "'><a href='#m"+ms+"'>" + text + "</a></li>";
});
output += '</ul>';
ms++;
});
var icons = {
header: "ui-icon-circle-arrow-e",
activeHeader: "ui-icon-circle-arrow-s"
};
var hashNum = 0;
if (window.location.hash != ''){
hashNum = parseInt(window.location.hash.replace("#m", ""));
};
$('<div>')
.attr('id','accordionSub')
.html(output)
.appendTo('#accordionSubB').delay(1).queue(function(){
$( "#accordionSub" ).accordion({
heightStyle: "content",
collapsible: true,
icons: icons,
active: hashNum
});
});
}
出力:
<h3 class="ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-accordion-icons ui-state-hover"
role="tab" id="ui-accordion-accordionSub-header-22" aria-controls="ui-accordion-accordionSub-panel-22"
aria-selected="false" tabindex="-1">
<span class="ui-accordion-header-icon ui-icon ui-icon-circle-arrow-e"></span>Pressure Transducers
<a name="m23"></a>
</h3>