如何在新选项卡中打开特定菜单div

时间:2015-03-02 08:05:25

标签: javascript jquery html

我创建了一个单页网站。当我点击菜单时,它会转到特定的div标签。当我右键点击菜单&点击“在新标签页中打开”,打开网址“www.mysite.com/#”,而不是打开“www.mysite.com/#show-3”。

请尽快帮助我......

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

5 个答案:

答案 0 :(得分:1)

这将有效

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

在你的情况下

&#13;
&#13;
<div class="menu-wrapper">
  <ul class="menu">
    <li><a target="_blank" class="show-1" href="#">About Us</a></li>                            		<li><a target="_blank" class="show-2" href="#">Rooms</a></li>
	<li><a target="_blank" class="show-3" href="#">Reservation</a></li>
	<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

&#34;在新标签中打开&#34;大多数浏览器中的按钮将遵循标准的超链接规则,这意味着它们将打开标记的href。一个页面的网站通常使用javascript和动态html生成来管理它的所有内容。新标签功能中的打开功能并不知道如何处理。

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

答案 2 :(得分:0)

请尝试这个小提琴 Demo

只需对标记进行微小更改

即可
<a href="#" target="_blank">

答案 3 :(得分:0)

你可以给divs 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。

答案 4 :(得分:0)

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

关于你的代码,

... href="your new page link here"
那是&#34; #&#34;你的是链接(或者在更技术性的术语中,它会将该链接附加到当前页面上的基本网址。 它会去&#34; www.mysite.com /#&#34;它显示相同页面而不仅仅是新页面的原因仅仅是因为#不是链接到新页面而是链接到当前页面中任何事件(例如onclick)上的元素。您可以获得有关here

的更多详细信息

但是就像其他提到的答案一样,如果你想打开一个新标签(也就是页面),你必须有另一个页面。这也意味着这将不再是一个1页的网站。