jQuery用锚切换

时间:2012-08-02 13:32:38

标签: jquery anchor

我已经创建了一个函数来打开以在单击某个元素时显示div。我在一个页面上有几个。如何只打开某个div来链接到该页面?

HTML:

<div class="heading">
    <p>
        <a href="#">....</a>
    </p>
</div>
<div class="more">
    <p>...</p>
</div>

etc.

jQuery的:

<script type="text/javascript">
    $(function () {
        if($('.heading')[0]) {
            $('.heading').toggle(function () {
                $(this).next('.more').slideDown();
            },

            function () {
                $(this).next('.more').slideUp();
            });
            $("a[href='" + window.location.hash + "']").parent(".heading").click();
        }
    })
</script>

编辑:我为每个隐藏的div添加了一个id,并使用以下函数,它有效!

window.onload = function() {
    var hash = window.location.hash;
    if(hash != "") {
        var id = hash.substr(1); 
        document.getElementById(id).style.display = 'block';
    }
};

2 个答案:

答案 0 :(得分:2)

好吧,你可以让jquery在你链接到的页面的URL上附加一个Querystring,它会“延续”打开的DIV,例如myurl.html?打开= div_3

可能有一种方法可以使用#也这样做,但两者看起来都有点笨拙且不受欢迎。

您可以执行Ajax,并将其存储在PHP会话中。

(我之前只在导航中看到过手风琴式菜单,但是你知道你的父母无论如何都要从页面开始,所以你打开它的LI就好了。)

编辑添加:这里是一个Javascript函数的链接,您可以使用它来查看查询字符串,从而确定您需要打开哪个DIV: http://www.svlada.com/blog/2012/06/15/how-to-get-url-parameters-javascript/

答案 1 :(得分:0)

我相信这是你正在寻找的答案....快乐的编码!

DEMO http://jsfiddle.net/bfVYB/11/