我在我的脚本中使用锚标签,这样当我回到页面时,我可以保存我所处的位置。问题是它只在我点击链接时才有效。当我刷新页面,或者回到它时,它没有。我没看到什么?信不信由你...这是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>
答案 0 :(得分:0)
在你的主播中使用id代替名称。
HTML链接 - id属性 id属性可用于在HTML文档中创建书签。
提示:书签不会以任何特殊方式显示。它们对读者来说是不可见的。
实施例 HTML文档中包含id的锚:
<a id="tips">Useful Tips Section</a>
在同一文档中创建指向“有用提示部分”的链接:
<a href="#tips">Visit the Useful Tips Section</a>
或者,从另一页面创建指向“有用提示部分”的链接:
<a href="http://www.w3schools.com/html_links.htm#tips">
访问实用技巧部分
答案 1 :(得分:0)
找到一个我必须添加的解决方案:
$(window).load(function(){
var hashNum = 0;
if (window.location.hash != ''){
hashNum = window.location.hash.replace("#m", "");
console.log('hashNum: ' + hashNum);
};
hashMenu = $("#m"+hashNum-1).offset().top;
$('html,body').animate({
scrollTop: hashMenu
}, 1000);
});