从另一个页面访问可折叠div内的内容

时间:2014-04-17 18:34:40

标签: jquery html hash anchor

我有两个HTML文件。这是第1号文件。

      <p class="Heading">
              <a name="car"></a>Small vehicles</p>
      <! -- BEGIN COLLAPSIBLE CONTENT >
      <div class="description">
                    CONTENT
      </div>
      <END COLLAPSIBLE CONTENT>  
      <p class="Heading">
            <a name="truck"></a>Big vehicles</p>
       <div class="description">
       <! -- BEGIN COLLAPSIBLE CONTENT >
                      CONTENT 
       </div>
       <END COLLAPSIBLE CONTENT>

HTML文件编号2有一个链接,用于在1号文件中访问小型车辆。 当我点击文件2中的链接时,我需要它来显示小型车辆标题内的可折叠内容。

例如,(page.html#car“)

Javascript功能:

   $(document).ready(function() { 

   $(".Heading").click(function()  {  

       $(this).next(".description").slideToggle(500);  });

    });

我使用了文件编号1中的锚名称和文件编号2中使用的哈希标记来访问该内容。

我遇到的问题是我能够访问该页面(page.html),但它没有显示可折叠div小型车辆内的内容。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果你给汽车和卡车锚点一个id,而不仅仅是一个名字,你可以在document.ready中进行以下检查:

if(window.location.hash && window.location.hash.replace("#", "") == "car"){
    $("#car").parent(".Heading").trigger("click");
}    

这将模拟汽车标题上的点击并展开内容。

我还会考虑重新考虑你的HTML结构 - 为什么不让链接像<a id="car" class="Header">Small vehicles</a>那样忘记<p>?这可以简化事情并使其更容易使用。

答案 1 :(得分:0)

  1. 代码适用于:外部页面链接以在另一页面上展开折叠DIV但是在点击时不会隐藏window.location.hash 同一页面上的其他折叠按钮:

    $(document).ready(function() {
       $(window.location.hash).show();
    });
    
    1. 代码适用于:外部页面链接可在另一页面上展开折叠DIV并在点击其他页面时隐藏window.location.hash 折叠按钮。其他按钮的折叠功能正常工作:

      $(document).ready(function(){    $(window.location.hash).addClass(&#39;在&#39;中折叠);    });