从网址中删除主题标签

时间:2014-01-21 20:10:18

标签: jquery web hashtag

代码有一些问题。

$(function () {
    var items = $('#v-nav>ul>li').each(function () {
        $(this).click(function () {
            //remove previous class and add it to clicked tab
            items.removeClass('current');
            $(this).addClass('current');

            //hide all content divs and show current one
            $('#v-nav>div.tab-content').hide().eq(items.index($(this))).show('fast');

            window.location.hash = $(this).attr('tab');
        });
    });

    if (location.hash) {
        showTab(location.hash);
    }
    else {
        showTab("tab1");
    }

    function showTab(tab) {
        $("#v-nav ul li[tab=" + tab + "]").click();
    }

    // stop the click on the link adding a # to the end of the 
    event.preventDefault();

    // Bind the event hashchange, using jquery-hashchange-plugin
    $(window).hashchange(function () {
        showTab(location.hash.replace("#", ""));
    })

    // Trigger the event hashchange on page load, using jquery-hashchange-plugin
    $(window).hashchange();

});

这是网址http://www.r1hosting.net/vps-servers#tab1

我想删除#tab1,#tab2,#tab3,#tab4等第四...

有什么想法吗?我已经尝试了一切...

2 个答案:

答案 0 :(得分:0)

如果您不想使用主题标签,可以轻松删除此行:

window.location.hash = $(this).attr('tab');

如果删除它,此代码将不执行任何操作,因为#未设置并且可以删除,以及:

// Bind the event hashchange, using jquery-hashchange-plugin
$(window).hashchange(function () {
    showTab(location.hash.replace("#", ""));
})

// Trigger the event hashchange on page load, using jquery-hashchange-plugin
$(window).hashchange();

答案 1 :(得分:0)

您需要在接收事件的点击处理程序中移动event.preventDefault()

$(this).click(function (event) {
    event.preventDefault();

    // rest of the handler code goes here...
}