【问题标题】:jQuery - Tabbed Content - Open on Selected Tab?jQuery - 选项卡式内容 - 在选定的选项卡上打开?
【发布时间】:2014-04-04 09:30:43
【问题描述】:

我创建了一些选项卡式内容。我有什么办法可以通过更改 URL 来决定要打开哪个选项卡?我敢肯定我以前见过类似的东西,但找不到!

我在这里创建了一个小提琴:http://jsfiddle.net/sW966/

默认选项卡是选项卡 1。但例如,如果 URL 是 http://jsfiddle.net/sW966/#tab-2,页面会在选项卡 2 打开的情况下加载?

感谢您的帮助,有点挣扎:)

$(document).ready(function () {
    $(".tab").click(function () {
        $(".tab").removeClass("active");
        $(this).addClass("active");
        $("#tabbed-content .tab-content").hide();
        $($(this).attr("href")).show();
    });
});

【问题讨论】:

    标签: javascript jquery html css tabs


    【解决方案1】:

    为什么不把你的 JS 改成:

    请注意,由于它的工作方式,这在 jsfiddle 中不起作用。

    $(document).ready(function () {
    
    
        if(window.location.hash){
            tabChange($('.tab[href=#'+window.location.hash+']'));
        }
    
        function tabChange(tab){
            $(".tab").removeClass("active");
            tab.addClass("active");
            $("#tabbed-content .tab-content").hide();
            $(tab.attr("href")).show();        
        }    
        $(".tab").click(function () {
            tabChange($(this));
        });
    });
    

    【讨论】:

    • jsfiddle代码是jsfiddle.net/manedeepak08/sW966/1你可以测试here
    • @DeepakMane - 据我所知,上述内容在 jsfiddle 中不起作用,您无法访问 location.hash
    • 感谢您的帮助!这有效 - 但是,当我使用 url.com/#tab-2 时,页面会下拉到选项卡。我已经使用 $(".tab").click(function (e) {e.preventDefault(); 在单击选项卡时解决此问题,但当您使用新 url 更改选项卡时似乎不起作用. 有什么想法吗?
    • 你需要在你的代码中添加:setTimeout(function() { if (location.hash) { window.scrollTo(0, 0); } }, 1);,不是优雅,而是一个解决方案
    • 欣赏!谢谢!
    【解决方案2】:

    你可以试试这个:

    Working fiddle here

    将属性“href”替换为“name”..

    $(document).ready(function () {
       $(".tab").click(function () {
         $(".tab").removeClass("active");
         $(this).addClass("active");
         $("#tabbed-content .tab-content").hide();
         $($(this).attr("name")).show();
      });
    });
    

    祝你好运……

    【讨论】:

    • 嗨,名字工作正常,但它给我的结果和以前一样。如果我更改 URL,默认选项卡仍会打开吗?谢谢
    • 嗨,Pradeep,它仍然不适合我吗?使用 Chrome
    • 仍然没有运气 - 这是我正在使用的链接 - fiddle.jshell.net/sW966/3/show/#tab-2 这应该工作吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多