0

我有一个标准的选项卡部分,可以将内容分成单独的选项卡,类似于 jQuery 选项卡。我的问题,如何通过 url (www.domain.com/content#tab2) 打开特定标签。在这种情况下,通过将标签内容添加到 url 不起作用

    $(document).ready(function() {

        //Default Action
        $(".tab_content").hide(); //Hide all content
        $("ul.tabs li:first").addClass("active").show(); //Activate first tab
        $(".tab_content:first").show(); //Show first tab content

        //On Click Event
        $("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 rel attribute value to identify the active tab + content
            $(activeTab).fadeIn(); //Fade in the active content
            return false;
        });

    });


    <ul class="tabs">
    <li><a href="#welcome">welcome</a></li>
    <li><a href="#one">tab 01</a></li>
    <li><a href="#two">tab 02</a></li>
   </ul>

    <section class="tab_container">
    <article id="welcome" class="tab_content"><p>content</p></article>
    <article id="one" class="tab_content"><p>content</p></article>
    <article id="two" class="tab_content"><p>content</p></article>
    </section>
4

3 回答 3

5

把它放在你的$(document).ready功能中

    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();
    }
于 2012-11-02T09:36:42.910 回答
0

您可以使用 jQueryTab 的“选定”选项来设置当前选项卡,您将必须捕获 URL 选项并在页面加载事件上设置选项卡。

$("#SimpleTab").tabs("option", "selected", 2);

请参阅我博客中的示例:http: //csharp-guide.blogspot.in/2012/07/aspnet-jquery-ui-tab-set-active-tab.html

于 2012-11-02T09:38:29.097 回答
0

这就是我现在准备好的文件

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();
}    

if($('.tab2').length>0){
   $(".tab_content").hide(); //Hide all content
   $("ul.tabNav li:first").addClass("active").show(); //Activate first tab
   $(".tab_content:first").show(); //Show first tab content

       //On Click Event
   var z = 100;
   $('ul.tabNav li a').each(function() {
      z--;
      $(this).css('z-index', z);
   });
   $("ul.tabNav li").click(function() {
      $("ul.tabNav 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 rel attribute value to identify the active tab + content
      $(activeTab).fadeIn(); //Fade in the active content
      return false;
    });
 }
于 2012-11-02T10:28:22.700 回答