Jquery选项卡插件问题

Jquery选项卡插件问题,jquery,jquery-plugins,Jquery,Jquery Plugins,我已经创建了一个轻量级的标签插件(通过谷歌先生修改了一个概念),90%的效果让我满意。然而,有一个非常基本的关键要素缺失了,这让我有点难过:) 我可以点击标签并运行客户端选择代码(回调函数),而不会出现问题,并对其进行了调整,使其完全符合我的要求。然而,有一个边缘案例暗示了我脆弱的思维过程。基本上,我希望在访问页面时自动选择一个选项卡(上次单击的选项卡索引保存在cookie中),以便向用户显示用户上次查看的信息,而不是默认的第一个选项卡。现在,我很清楚我可以使用jquery ui选项卡来实现这一

我已经创建了一个轻量级的标签插件(通过谷歌先生修改了一个概念),90%的效果让我满意。然而,有一个非常基本的关键要素缺失了,这让我有点难过:)

我可以点击标签并运行客户端选择代码(回调函数),而不会出现问题,并对其进行了调整,使其完全符合我的要求。然而,有一个边缘案例暗示了我脆弱的思维过程。基本上,我希望在访问页面时自动选择一个选项卡(上次单击的选项卡索引保存在cookie中),以便向用户显示用户上次查看的信息,而不是默认的第一个选项卡。现在,我很清楚我可以使用jquery ui选项卡来实现这一目标,但出于一些我不会让你感到厌烦的原因,这不是一个选项(目前!!-如果我希望的不可能,那么我可能不得不重新考虑这个选项)

我已经把核心代码放在了我们的老朋友signor fiddler上,因为它可能更容易演示我要做的事情,而且还可以让你们更轻松地调整

希望你能帮忙。以下是链接:


最好的…

不使用官方插件有什么特殊原因吗


实现这一点的简单方法是通过编程触发
单击事件:

$tabs.find("ul li").eq(tabIndex).click();  
下面是一个自动选择第三个选项卡的更新示例:

更新:

为了将调用封装在插件中,我对其进行了如下修改:

(function($) {
    var activeTab;
    var opts;
    var methods = {
        init: function(options) {
            /* Snip (Previous init code) */
        },
        show: function(index) {
            return this.each(function() {
                $(this).find("ul li").eq(index).trigger("click");
            });
        }
    };

    $.fn.tabify = function(method) {

        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        }
        else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        }
    };
})(jQuery);
用法:

$tabs.tabify("show", 2);

更新示例:

是的,我们瞄准了多种设备,这意味着我们将不得不对这个简单的实现进行重大调整——正如我在问题中提到的,太多的设计细节让你感到“厌烦”,所以现在不是一个选项,但请注意这个空间。还是极其灵活和轻量级的jQuery工具选项卡?我要‘哭’:)-我只是在寻找一个让我实现的垃圾像上面详述的那样工作的机会。当然,我会把它作为第二线应急措施来考虑。谢谢你的链接!!它看起来确实很漂亮,尽管有点重。但是很好+1安德鲁-那很好。如果你能把答案归结为$tabs,你就可以把它装进袋子里了。show(tabIndex):-)[那就没有压力了!!]@jim:你介意我把它改成像
$tabs.tabify(“show”,2)
?安德鲁-不,这更适合名称空间,所以去吧!!(顺便说一句,想象一下如果我说‘是’:)@吉姆:哈哈,一点问题都没有。安德鲁-很好,而且画得很快。被接受为答案。祝您一切顺利-无论您身在何处;)