2016-02-12 175 views
1

我在这里有两个页面:索引和结果。在results.html中,我有一些CSS属性设置为display:none的div。我想从索引(导航菜单)导航并打开结果页面,同时显示隐藏的div。 jQuery对results.html工作正常,但我不知道如何触发来自索引的此函数。jQuery导航到另一个页面并显示div隐藏

指数:

<ul> 
    <li><a id="menu-2016" href="results.html#2016">2016</a></li> 
    <li><a id="menu-2015" href="results.html#2015">2015</a></li> 
</ul> 

结果:

<section id="2016">Content</section> 
<section id="2015">Content</section> 

CSS:

#section-2015, #section-2016 { 
    display: none; 
} 

的jQuery:

$(document).ready(function() { 
    $("#menu-2016").click(function() { 
     $("#section-2016").slideDown(); 
     $("#section-2015").slideUp(); 
    }); 
    $("#menu-2015").click(function() { 
     $("#section-2015").slideDown(); 
     $("#section-2014").slideUp(); 
    }); 
}); 
+0

搜索关于'window.hash'和事件'window.onhashchange' 。这将是你轻松的解决方案。 –

+0

什么是$(“#section-2016”)?您没有此ID的元素 –

+0

@DarrenSweeney键入时出错。 – h1ghland3r

回答

1

您可以简单地检查URL哈希/片段。

$(document).ready(function() { 
    if (window.location.hash == '#2016') { 
     $("#section-2016").slideDown(); 
     $("#section-2015").hide(); 
    } 
    if (window.location.hash == '#2015') { 
     $("#section-2016").hide(); 
     $("#section-2015").slideDown(); 
    } 
}); 
+0

工程就像一个魅力!谢谢。 – h1ghland3r

+0

请接受它是否正确! –

1

您可以使用

window.name 

财产。总是通过Javascript实例化的窗口对象具有该属性,并且在同一窗口中加载新文档时始终保持相同。因此,将window.name设置为您来自的页面。在索引文件的页面加载时执行此操作。在结果文件中,您可以在页面加载时测试该条件,以及在索引文件中只显示与其相对应的隐藏内容。

0

我想,发送您的PARAMS为实际PARAMS:

<ul> 
    <li><a id="menu-2016" href="results.html?year=2016">2016</a></li> 
    <li><a id="menu-2015" href="results.html?year=2015">2015</a></li> 
</ul> 

,并解析PARAMS如下所述:How can I get query params...