从链接触发折叠菜单单击新窗口

时间:2017-07-20 19:21:45

标签: javascript jquery hyperlink triggers click

我想使用index.html页面上的链接在links.html页面上打开一个可点击的折叠菜单,一旦链接将我带到portfolio.html ...

的index.html

<a class="sponsor-info" href="views/portfolio.html"></a>

Portfolio.html

<ul class="folding-menu">
  <li class="menu-item sponsors" id="all-metro">        
    <div class="folding-content"> Content </div>
  <li>
</ul>

Js脚本

$('.sponsor-info').click(function() {
   setTimeout(function() {
      $('#all-metro').trigger('click');
   }, 1000);
});

我的代码的问题是它仅适用于同一页面。但是,当它从index.html到portfolio.html(到新页面)时,菜单将不会触发。

1 个答案:

答案 0 :(得分:0)

因此,在不了解您的设置的情况下,可能最简单的方法是在URL中使用您可以在另一页上检测到的查询字符串参数来确定菜单是否应该打开。像下面这样的东西应该让你开始:

首先将链接更改为:

<a class="sponsor-info" href="views/portfolio.html?open=true"></a>

然后,portfolio.html页面上的javascript应该是这样的:

$(document).ready(function(){
   var query = window.location.search;
   if(query && query.length >0){
      var parts = query.split('=');
      var open = parts[0] === 'open' && parts[1] === 'true' ? true : false;
      if(open){
         $('#all-metro').trigger('click');
      }
   }
});

这应该等待页面准备就绪,然后从窗口位置获取查询字符串并解析字符串以查找open参数,然后在触发点击之前检查该值。