0

非表示にできる 2 つの div を含むページがあります。ページをロードすると、URLは次のようになります

www.example.com/wedding.php#pyromusicals

またはそれは可能性があります

www.example.com/wedding.php#just-fireworks

現在、アンカー値に応じて別の div を非表示にしようとしています。アンカーがない場合は、両方を非表示にします。これまでの私のコードは次のとおりです

$(document).ready(function () {

    // Get # parameter
    var param = document.URL.split('#')[1];


    if (param == 'pyromusicals') {
        $(".hidden-div2").hide();
    } else if (param == 'purely-fireworks') {
        $(".hidden-div1").hide();
    } else if (param == '') {
        $(".hidden-div1").hide();
        $(".hidden-div2").hide();
    }

});

問題は、ページの読み込み時にどちらも機能しないことですが、手動で更新を押すと、jquery が機能し始めます。ページ上のリンクは単なる html リンクです

<li><span><a href="/wedding-fireworks.php#pyromusicals" title="View information about pyromusical displays for weddings">Pyromusicals</a></span></li>
<li><a href='/wedding-fireworks.php#purely-fireworks' title="View information about wedding fireworks"><span>Purely Fireworks</span></a></li>

実際、IE ではまったく機能しないことに気付きました。ページの更新後に Chrome でのみ機能します

4

1 に答える 1

0

わかりましたスタックの別の投稿から解決しました。したがって、2 番目のアンカーをクリックすると、ページは更新されず、移動するだけです。更新を強制するには、URL に別の変数を入れます

それで

www.example.com#pyro

なりました

www.example.com?string=1#pyro

これにより、ページが更新されました

から得た答え

HTML アンカー (#) を使用してページを強制的にリロードする - HTML & JS

于 2013-07-01T15:03:01.277 に答える