javascript - 帮助使用 URL 参数打开选项卡信息

标签 javascript jquery html

需要以下脚本的帮助。我想添加传递 url 参数的功能,该参数将打开基于 URL#tabinfo 的选项卡之一。任何帮助都会非常感谢。

(function ($) {
    function getactTabAnc() {
        return this.find('.active>a')[0];
    }

    function getContentId(tabAnchorS) {
        return $(tabAnchorS).attr('href').replace('#', '');
    }

    function applyStyles(newActTabAnc) {
        var actTabAnc = newActTabAnc || getactTabAnc.apply(this), activeContentId = getContentId(actTabAnc);
        this.find('a').each(function () {
            var $cur = $(this), curContentId = getContentId(this);
            if (activeContentId === curContentId) {
                $cur.closest('li').addClass('active');
                $('#' + curContentId).show();
            }
            else {
                $cur.closest('li').removeClass('active');
                $('#' + curContentId).hide();
            }
            });
    }

    $.fn.tabs = function () {
        return this.each(function () {
            var $tabTainer = $(this);

            applyStyles.apply($tabTainer);

            $tabTainer.find('a').click(function (e) {
                console.log('clicked');
                var actTabAnc = getactTabAnc.apply($tabTainer), isActive = this === actTabAnc;
                e.preventDefault();
                if (!isActive) {
                    applyStyles.apply($tabTainer, [this]);
                }
            }); 
        });
    };
})(jQuery);


  <ul id="tabsHolder">
    <li class="active"><a href="#tabId1">Header 1</a></li>
    <li><a href="#tabId2">Header 2</a></li>
   </ul>

   <div id="tabId1">Content 1</div>
   <div id="tabId2">Content 2</div>

最佳答案

window.location.hashonhashchange事件。如果 ('onhashchange' in window) 为 false,那么您需要轮询哈希更改。

存在将其抽象化的库。

关于javascript - 帮助使用 URL 参数打开选项卡信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5176435/

相关文章:

javascript - jQuery contextMenu 复选框被选中

javascript - 我如何从跨度中获取 php 值(id)并在模式窗口中使用它

html - DIV 之间的紧密差距

html - 创建 Chrome 扩展以隐藏 DIV 显示 :none; on a specific page

javascript - 如何在没有新 key 的情况下更新现有父级的一个 Firebase 子级?

php - 如果用户的浏览器禁用了 javascript,则使用 javascript 的网页无法工作...那么有什么方法可以在没有 javascript 的情况下运行像 onclick 这样的命令?

javascript - Google Maps Javascript API 与 Fusion Tables - 如何获取自定义信息窗口

jquery - 在灯箱弹出窗口中添加内容并设置大小

javascript - 这个简单的 Safari 扩展代码有什么问题?

html - css 悬停在链接上 - 不起作用