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を使用してください。

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 に答える