2013-02-14 57 views
0

在我的一些页面上,我使用JQuery在不刷新页面的情况下显示和隐藏不同部分的内容。有没有一种方法可以链接到全球导航页面的特定部分?最终,我希望用户点击来自不同页面的链接,并跳转到不同页面上的某个部分。从我的网站的另一部分链接到页面部分

我有什么,我现在这里有一个例子,http://jsfiddle.net/tjaymz/JUJf7/

<nav id="sideNav"> 
<ul class="noStyle"> 
    <li><a href="#" name="menu1">Line 1</a></li> 
    <li><a href="#" name="menu2">Line 2</a></li> 
    <li><a href="#" name="menu3">Line 3</a></li> 
</ul> 

<section id="page_menu1"> 
    <h1>Some Heading</h1> 
    <p>FPO</p> 
</section> 

<section id="page_menu2" class="hidden"> 
    <h1>Heading 2</h1> 
    <p>FPO</p> 
</section> 

<section id="page_menu3" class="hidden"> 
    <h1>Another one</h1> 
    <p>FPO</p> 
</section> 

$(function(){ 
$("#main_content section:not(:first-child)").hide(); //hide all but first 
$("#sideNav a").click(function() { 
    $('#main_content section').hide('fast'); 
    $('#page_'+this.name).show('normal'); 
});}); 

使用这个例子,我需要从另一页说“链接第2行“。

回答

0

我相信你可以在你想要链接的网站的页面部分使用锚点。让你的全球导航链接去锚,它应该工作。

+0

我试过了,没有运气。试过了,''这似乎不起作用。 – user1791449 2013-02-14 21:00:18

+0

除非您更改默认代码,否则锚点会将窗口移至锚点标记的位置,但不会为您点击链接。 – sscirrus 2013-02-14 21:08:49

0

两种方法可以做到这一点:

  1. 写一些JavaScript点击按钮由URI参数的一些指向。
  2. 分离你的页面。 Javascript是很好的,但如果你使用它太多,它可以限制可访问性,阻碍SEO,使链接变得脆弱等等。如果您仍然喜欢javascript的感觉,那么当服务器收到data-remote请求时,您可以通过javascript,json或xml呈现这些单独的页面。在这个意义上使用AJAX是很好的,因为该网站将继续为每个用户运行,并且不会因为您的用户体验而出现无法预料的问题。
0

您可以在页面加载时查看url散列。试试沿着这些线路:

$(function() { 
    $("#main_content section").hide(); 

    var selected = $(window.location.hash); 
    if (selected.length) { 
     selected.show(); 
    } else { 
     $("#main_content section:first-child").show(); 
    } 
}); 

那么如果在他们的网址#page_url1用户联系,这部分将是可见的。

要获得更全面的解决方案,您可能需要查看诸如jQuery UI Tabs之类的东西。

+0

几天后被拉到不同的东西,最后回到这个!我在这里尝试了你的建议,它的效果很好,除了现在我的侧边栏导航的显示/隐藏功能不再有效。 – user1791449 2013-02-21 13:58:50

相关问题