我有一个问题,当您使用自己的ID发送链接时,jquery hash显然可以正常工作。
如果您添加额外的parámentros,例如url.com/#menu-1&utm=menu,则会出现问题,但这会失败,但是如果我只将id放入url.com/#menu-1
会有可能的解决方案吗?
WORKS:
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-1
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-2
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-3
不起作用
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-1&utm=menu-1
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-2&utm=menu-2
http://fiddle.jshell.net/ecp15eks/1/show/light/#menu-3&utm=menu-3
示例JSFIDDLE:http://jsfiddle.net/ecp15eks/1/
JS:
$(".tabs-menu a").click(function (event) {
event.preventDefault();
$(this).parent().addClass("current");
$(this).parent().siblings().removeClass("current");
var tab = $(this).attr("href");
$(".tab-content").not(tab).css("display", "none");
$(tab).fadeIn();
});
var hash = window.location.hash;
if (hash != "") {
$('.tabs-menu li a[href="' + hash + '"]').trigger("click");
}
HTML:
<div id="menu">
<ul class="tabs-menu">
<li><a href="#menu-1">Menu 1</a></li>
<li><a href="#menu-2">Menu 2</a></li>
<li><a href="#menu-3">Menu 3</a></li>
</ul>
</div>
<div id="content">
<div id="menu-1" class="tab-content">
<h1>Menu Content 1</h1>
</div>
<div id="menu-2" class="tab-content">
<h1>Menu Content 2</h1>
</div>
<div id="menu-3" class="tab-content">
<h1>Menu Content 3</h1>
</div>
</div>
答案 0 :(得分:0)
您将URL参数与命名锚点混淆。
您的命名主播是#menu-1
- 您还没有真正创建过网址参数。
您应该使用:
http://fiddle.jshell.net/ecp15eks/1/show/light/?utm=menu-1#menu-1
请注意,命名锚点应该是URL的最后一部分,并且URL参数需要在它之前。
在上面的代码中,我添加了网址参数utm=menu-1
。
然后,您可以使用&符附加额外的参数。 E.g:
http://fiddle.jshell.net/ecp15eks/1/show/light/?utm=menu-1&utn=menu-2#menu-1