【问题标题】:jquery open tab via url or linkjquery通过url或链接打开标签
【发布时间】:2012-10-22 22:55:25
【问题描述】:

我有一个标准的选项卡部分,可以将内容分成单独的选项卡,类似于 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>

【问题讨论】:

  • 如果您希望获得相同的功能,为什么不直接使用 jQuery Tabs?

标签: jquery url hyperlink tabs


【解决方案1】:

把这个放在你$(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();
    }

【讨论】:

【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

    • 您似乎根本没有阅读该问题。用户正在使用他自己的标签代码;你的例子与他在做什么完全没有关系。您也没有透露这是您的网站。
    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 2018-12-12
    • 2011-07-06
    • 2013-08-27
    • 1970-01-01
    相关资源
    最近更新 更多