删除在单击其他选项卡时生成的url查询元素的一部分
Remove part of the url query element that is generated when clicking on other tabs
我正在使用jquery tabify,http://unwrongest.com/projects/tabify/,为我的菜单创建一个类似选项卡的功能。
演示:http://jsfiddle.net/janjarfalk/6Y6Pa/1/
我正在创建这样的菜单:
<ul id="menu">
<li class="active"><a href="#contentHome">Home</a></li>
<li><a href="#contentGuestbook">Guestbook</a></li>
<li><a href="#contentLinks">Links</a></li>
</ul>
<div class="content" id="contentHome">Content for Home</div>
<div class="content" id="contentGuestbook">My guestbook</div>
<div class="content" id="contentLinks">Links</div>
选项卡将自动添加为我的url的锚链接,读取我的url上的任何内容。我需要一个url(仅用于链接选项卡),如{domainname}/{controller}/{method}/{articleId}#contentLinks选项卡,示例:
- http://www.test.com/site/shipping/5/#contentLinks-选项卡
- http://www.test.com/site/delivery/3/#contentLinks-选项卡
而其余的只会http://www.test.com/site#home-选项卡等。正如您从演示中看到的{id}-tab"是根据id自动生成的。但是,如果我已经在上,问题就会出现http://www.test.com/links/shipping/5/#contentLinks-链接页面的选项卡,如果我要转到其他选项卡,如留言簿或主页,则随后会出现/hshippin/5/#contentHome选项卡。
请告诉我,即使我在链接选项卡上,并悬停在选项卡的其余部分,我如何删除/发货/5/?很抱歉,我无法提供太多的编码,因为我不知道该怎么做。因此,真的很感激有人能给我带来一些启发。非常感谢。
这是一个很难回答的问题,因为jsFiddle显然缺少URL的/shipping/5
部分;如果理解正确,我们基本上是在尝试更改插件的功能。
无论如何,这有点麻烦,但您可以尝试使用javascript更改主页和留言簿链接的href
属性。所以首先给主页和留言簿链接ID:
<a href="#contentHome" id="home">Home</a>
<a href="#contentGuestbook" id="guestbook">Guestbook</a>
然后使用jQuery替换Tabify初始化后的URL:
$('#menu').tabify();
$('#home').attr('href','/site#contentHome-tab');
$('#guestbook').attr('href','/site#contentGuestbook-tab');
这相当于http://www.test.com/site#contentHome-tab
等,有效地消除了URL中不需要的部分。
或者,如果这不起作用(在jsFiddle上使用这样的插件时很难判断),你可能会变得更加愤怒,转而在主页和留言簿选项卡中添加onclick监听器:
$('#home').click(function() {
window.location.href = "/site#contentHome-tab";
});
我通常不会做这样的事情,但当你使用插件时,有时你必须有一点技巧才能达到预期的效果=p
希望这能有所帮助。
- 如何有效地将游戏数据存储在URL查询字符串中
- Javascript/jQuery URL查询参数解析
- Express编辑URL查询为“”;favicon.ico”;
- 将 URL 查询字符串传递给 Javascript 函数
- 删除在单击其他选项卡时生成的url查询元素的一部分
- 将URL查询字符串值从JavaScript编码为ASP.NET MVC
- 如何基于下拉选择构建 URL 查询字符串
- 使用 URL 查询字符串动态显示 Facebook Open Graph
- 有没有办法确定角度.js是否存在 url 查询参数
- 在 Javascript 中将对象文本编码为 URL 查询字符串
- 删除 URL 查询字符串中的加号 (+)
- 在url查询参数中传递多个url
- javascript中获取api中的Url查询字符串
- 将javascript对象转换为url查询
- 如何从URL查询字符串中获取参数值
- 使用JS/RRails和下拉表单更新URL查询字符串
- 基于URL查询的后台切换
- 表单提交将取消URL查询字符串中的一个参数
- 在Chrome中使用XMLHttpRequest获取URL查询
- 在Flow Router上使用URL查询参数进行搜索