1

我在我的脚本中使用锚标记,这样当我回到页面时,我可以保存我所在的位置。问题是它仅在我单击链接时才有效。当我刷新页面或返回它时它不会。我没看到什么?信不信由你……这是 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>
4

2 回答 2

0

在锚点中使用 id 而不是 name。

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">

访问有用的提示部分

http://www.w3schools.com/html/html_links.asp

于 2013-03-14T16:24:50.610 回答
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);

    });
于 2013-03-14T18:21:24.627 回答