根据锚值隐藏div

时间:2013-07-01 14:27:19

标签: jquery anchor

我有一个包含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才能在页面刷新后才能正常工作

1 个答案:

答案 0 :(得分:0)

好的我已经从堆栈上的另一个帖子解决了它。因此,当单击第二个锚点时,页面不会刷新它只是移动。为了强制刷新,我在网址中添加了另一个var

所以

www.example.com#焦

成了

www.example.com?string=1#pyro

这使页面刷新

答案取自

Force page reload with html anchors (#) - HTML & JS