jQuery - 检查锚点的 URL
我使用基于 jQuery minitabs 的 jQuery 制作了一个非常简单的选项卡界面:
$(".tabs .nav").delegate("a", "click", function(){
var tabs = $(this).closest(".tabs");
var target = $(this).attr("href").split('#')[1];
$(".nav a", tabs).removeClass("active");
$(this).addClass("active");
$("input.active-tab", tabs).val(target);
//hide the tabs that doesn't match the ID
$('.tab:not(.'+target+')', tabs).hide();
$('.tab.'+target, tabs).show();
return false;
});
标记如下
<div class="tabs">
<input type="hidden" class="active-tab" name="active-tab" value="tab1" />
<ul class="nav">
<li><a href="#tab1" class="active">tab1</a></li>
<li><a href="#tab2">tab2</a></li>
<li><a href="#tab3">tab3</a></li>
</ul>
<div class="tab tab1">
....
</div>
<div class="tab tab2">
....
</div>
<div class="tab tab3">
....
</div>
</div>
:工作正常,但我想让活动选项卡可以根据当前 URL 设置。
例如。如果我粘贴此 URL:http://site.com/page.php#tab2
,我希望 tab2 显示为活动状态,
我该怎么做?
I made a really simple tab interface using jQuery based on jQuery minitabs:
$(".tabs .nav").delegate("a", "click", function(){
var tabs = $(this).closest(".tabs");
var target = $(this).attr("href").split('#')[1];
$(".nav a", tabs).removeClass("active");
$(this).addClass("active");
$("input.active-tab", tabs).val(target);
//hide the tabs that doesn't match the ID
$('.tab:not(.'+target+')', tabs).hide();
$('.tab.'+target, tabs).show();
return false;
});
the markup looks like:
<div class="tabs">
<input type="hidden" class="active-tab" name="active-tab" value="tab1" />
<ul class="nav">
<li><a href="#tab1" class="active">tab1</a></li>
<li><a href="#tab2">tab2</a></li>
<li><a href="#tab3">tab3</a></li>
</ul>
<div class="tab tab1">
....
</div>
<div class="tab tab2">
....
</div>
<div class="tab tab3">
....
</div>
</div>
It works fine, but I want to make so the active tab can be set based on the current URL.
for eg. if I paste this URL: http://site.com/page.php#tab2
, I want the tab2 to appear as active
How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
位于
window.location.hash
中,您可以搜索
$(".tabs .nav")
具有相同哈希值的链接并触发点击that is located in
window.location.hash
you can search
$(".tabs .nav")
for a link that has the same hash and trigger a click on it