我有一个页面,上面有这个jQuery脚本的标签
http://www.sohtanaka.com/web-design/simple-tabs-w-css-jquery/
我希望能够在用户转到网址http://mysite.com/about.php#tab3
时将标签3设为第一个这可能吗?
答案 0 :(得分:5)
根据示例,您可以通过以下方式修改它:
$(function() {
$(".tab_content").hide(); //Hide all content
//On Click Event (left standart)
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});
// here we are looking for our tab header
hash = window.location.hash;
elements = $('a[href="' + hash + '"]');
if (elements.length === 0) {
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
} else {
elements.click();
}
});
Working example is here。小心 - 哈希在那里硬编码,因为我不知道如何将它传递给测试帧:(
答案 1 :(得分:2)
我没有对此进行测试,但您应该能够从以下网址获取哈希:
var hash= window.location.hash;
然后使用请求的哈希抓取link元素,并模仿点击它
$("a[href='"+hash+"']").click();
答案 2 :(得分:0)
是的,你可以做到这一点。您需要一些代码来获取网址并触发正确的标签。
或者您可以查看Jquery工具选项卡(http://flowplayer.org/tools/demos/tabs/) 或Jquery UI选项卡(http://jqueryui.com/demos/tabs/)
这两个功能(以及大量其他选项)已经内置。