2015-03-02 72 views
0

我创建了单页网站。当我点击菜单时,它会转到特定的div标签。当我点击菜单&点击'在新标签打开'它打开网址“www.mysite.com/#”,而不是它应该打开“www.mysite.com/#show-3”。如何在新选项卡中打开特定菜单div

请帮我这个......很快

/**************Script used to open Different menu div on page*********************/ 
 
\t $(".menu a").click(function(){ 
 
\t \t var id = $(this).attr('class'); 
 
\t \t id = id.split('-'); 
 
\t \t $("#menu-container .content").hide(); 
 
\t \t $("#menu-container #menu-"+id[1]).addClass("animated fadeInDown").show(); 
 
\t \t return false; 
 
\t });
<div class="menu-wrapper"> 
 
    <ul class="menu"> 
 
    <li><a class="show-1" class="MENUNAME" href="#" onclick="javascript:myFunction(this);">About Us</a></li>        \t \t \t \t \t \t \t 
 
\t <li><a class="show-2" class="MENUNAME" href="#" onclick="javascript:myFunction(this);">Rooms</a></li> 
 
\t <li><a class="show-3" class="MENUNAME" href="#" onclick="javascript:myFunction(this);">Reservation</a></li> 
 
\t <li><a class="show-4" class="MENUNAME" href="#" onclick="javascript:myFunction(this);">Gallery</a></li> 
 
    <li><a class="show-5" class="MENUNAME" href="#" onclick="javascript:myFunction(this);">Contact Us</a></li> 
 
    </ul> <!-- /.menu --> 
 
</div>

+0

为了能够在新选项卡中打开div,您应该创建自己的页面,就像您称之为“show-3.html”一样,在其中放入div的内容,然后在恰当的位置调用它。菜单。 – 2015-03-02 08:07:52

+0

我们无法通过单页网站实现此目的。根据要求,我应该只使用单页进行开发。 – 2015-03-02 08:31:24

回答

0

的“在新标签中打开”,在大多数浏览器按钮,将按照标准的超链接的规则,这意味着他们将打开标签的href。一个页面的网站通常管理所有的内容与JavaScript和动态html代。新选项卡中的打开功能不知道如何处理这个问题。

你将不得不做的是写路由和html生成逻辑,给你的所有链接实际的href属性,而不仅仅是标签。对于普通的页面导航,只要用户点击一个链接就可以返回false,这样您就可以执行普通的单页逻辑,但是当某人强制浏览器导航到href位置时(如在新选项卡中打开时),您将有一个实际的页面与你的div显示在那里。

1

这将工作

<a target="_blank" href="yourlink">Link</a> 

在你的情况

<div class="menu-wrapper"> 
 
    <ul class="menu"> 
 
    <li><a target="_blank" class="show-1" href="#">About Us</a></li>        \t \t <li><a target="_blank" class="show-2" href="#">Rooms</a></li> 
 
\t <li><a target="_blank" class="show-3" href="#">Reservation</a></li> 
 
\t <li><a target="_blank" class="show-4" href="#">Gallery</a></li>        
 
    <li><a target="_blank" class="show-5" href="#">Contact Us</a></li> 
 
    </ul> <!-- /.menu --> 
 
</div>

+0

没有它的不工作.... – 2015-03-04 04:32:05

0

请试试这个小提琴 Demo

只是做微小的变化在你的T AG

<a href="#" target="_blank"> 
+0

其实我的要求是,我使用一个页面模板。如果我点击特定菜单,然后在那里打开其相关的div内容,但是当我右键单击链接并在新标签中打开时,它会给出我网站的索引页面(如www.mysite.com/#),而不是它应该显示www .mysite.com/index.html#menu-2内容.....现在该怎么办?.. – 2015-03-02 08:26:18

0

你可以给div的ID:

<div id="show-1">About Us Content</div> 

,打造像超链接:

<a class="show-1" target="_blank" href="yourPage.html#show-1">About Us</a></li> 

这将直接在新标签中打开您的DIV。

+0

我试过了你的建议,但它不工作......实际上我使用了现成的模板。 – 2015-03-02 08:21:56

0

关于你想要做的事情是,如果你想在新的网页中打开那个特定的div,它不再是1页的网站。这是具有该div内容的新页面。

关于你的代码中,

... href="your new page link here" 

说,“#”你的是链接(或更多的技术名词,它会追加当前网页上链接到自己的基本网址。这导致上 它会去“www.mysite.com/#”它显示相同的页面,而不是仅仅是一个新的页面的原因仅仅是因为#不是链接到新的页面,而是链接到当前页面上的任何事件中的元素(比如onclick),你可以得到更多的细节here

但是和其他答案一样,如果你想打开在新选项卡(又名页面)中,您必须拥有另一个页面。这也意味着这将不再是一个1页的网站。

相关问题