我使用以下脚本:

(function() {
    var tabContainers = $('div.tabs > div');
    tabContainers.hide().filter(':first').show();
    $(window).bind('hashchange', function () {
        var hash = window.location.hash || '#first';
        tabContainers.hide();
        tabContainers.filter(hash).show();
        $('div.tabs ul.tabNavigation a').removeClass('selected');
        $('a[href=' + hash +']').addClass('selected');
    });
    $(window).trigger("hashchange");
});

这部分代码为我提供了我需要的一切。例如,要从外部页面打开选项卡,请使用“index.php#first” href。它打开了带有选项卡的页面,并打开了确切的选项卡,但是它跳到了 anchor ,我需要从顶部开始显示页面。

有人知道,如何防止此代码的 anchor 跳转吗?

最佳答案

您是否尝试在hashchange函数中执行return false

否则,您可以避免在元素上使用真实ID。这样,它将不会滚动。

更新:
在使用jQuery时,您还可以尝试:e.preventDefault。该函数将需要接收e作为参数

关于jQuery Tabs,如何防止 anchor 跳转,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12914034/

10-13 08:06