0

我已经创建了一个功能,可以在单击某个元素时打开以显示 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';
    }
};
4

2 回答 2

2

好吧,您可以让 jquery 将 Querystring 附加到您链接到的页面的 URL,它“继承”打开的 DIV,例如 myurl.html?opened=div_3

也可能有一种方法可以使用 # 来做到这一点,但两者似乎都有些笨拙和不可取。

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

(我之前只在导航中看到手风琴式菜单这样做过,但是你知道你的父母无论如何都来自页面,所以你打开它的 LI 例如)。

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

于 2012-08-02T14:00:31.517 回答
0

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

演示http://jsfiddle.net/bfVYB/11/

于 2012-08-02T18:41:27.883 回答