通过选项卡更新subid

Ark*_*ken 4 javascript php mysql ajax jquery

前一段时间我问这个问题Jquery标签保持标签打开,这是在网址中的subid你可以看到我找到了我的问题的答案,现在我想改变它,这样每次你从一个标签更改为选项卡它会改变tid subid在标题中,此刻它只是将变量tid更改为tab_id的任何内容,这样当你按回来时,你可以打开你离开的特定标签,但这次我希望它更新tid中的tid滚动选项卡时的标题.

如果我之前的答案的链接没有显示在这里是我的代码

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.search);
    if (results == null) return "";
    else return decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(document).ready(function () {
    $(".tab_content").hide(); //Hide all content
    var tabIndex = parseInt(getParameterByName('tid'), 10);
    if (!tabIndex) tabIndex = 1;
    $("ul.tabs li").eq(tabIndex - 1).addClass("active").show(); //Activate first tab
    $(".tab_content").eq(tabIndex - 1).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;
    });
});
Run Code Online (Sandbox Code Playgroud)

如果您需要其他任何事情,请告诉我,如果这有点令人困惑,请告诉我.

编辑:换句话说,如果我在标题中添加?tid = 2,那么它将转到第二个标签,但是当你更改标签时它不会自动更新

Mic*_*ick 5

尝试tid使用Javascript 更改当前URL 的参数而不重新加载页面将不起作用.你有几个选择:

  1. 使标签实际上只是指向新页面的链接,而不是使用JavaScript.
  2. 改变你的脚本,使标签实际上是id链接,如下所示:

    <li><a href="#inbox" class="inbox"></a></li>

单击选项卡时,应将#outbox或#inbox附加到URL.然后,当用户单击后退按钮时,它应将它们带到上一个URL.您还必须更改JavaScript,以便在页面加载指向其中的选项卡的链接时(即page.html #inmpbox),然后显示收件箱选项卡.

您的HTML中似乎已经有了相应的ID和链接,但由于某种原因,您正在为<li>元素而不是元素添加单击功能<a>.您应该使<a>元素具有display:block满足<li>元素的元素,然后您可以将标签切换功能添加到它们中.这将使id能够附加到URL(即page.html #inbox).

因此,请尝试将onclick函数添加到链接中:

$("ul.tabs li a").click(function () {
        $("ul.tabs li").removeClass("active"); //Remove any "active" class
        $(this).parent().addClass("active"); //Add "active" class to selected tab
        $(".tab_content").hide(); //Hide all tab content
        var activeTab = $(this).attr("href");
        $(activeTab).fadeIn(); //Fade in the active content
    });
Run Code Online (Sandbox Code Playgroud)