我创建了(修改了一个来自谷歌谷歌的概念)一个轻量级的标签插件,让我满意90%。然而,缺少一个非常基本的关键因素,这让我感到有些伤感:)。
我可以点击选项卡并运行客户端选择代码(回调函数)而不会出现问题并将其调整为完全符合我的要求。然而,有一个边缘案例暗指我虚弱的思维过程。基本上,我希望在访问页面时自动选择一个选项卡(最后一次单击的选项卡索引保存在cookie中),以便向用户显示用户上次查看的信息,而不是默认的第1个标签。现在,我很清楚我可以使用jquery-ui标签实现这个目标,但由于一些我不会厌烦你的原因,这不是一个选择(< strong> 现在!! - 如果我想要的是不可能的,那么我可能不得不重新考虑那个选项。)
我已经将核心代码放在我们的旧密友签名小提琴手上,因为它可能更容易展示我所处的位置,并且会让你们更容易调整一下。
希望你能提供帮助。这是链接:Fiddler link to plugin code and simple demo
一切顺利......
答案 0 :(得分:2)
实现此目标的一种简单方法是以编程方式触发click
事件:
$tabs.find("ul li").eq(tabIndex).click();
这是一个自动选择第三个标签的更新示例:
http://jsfiddle.net/andrewwhitaker/MUPgz/4/
<强>更新强>
要将调用封装在插件中,我已经修改过它:
(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);
答案 1 :(得分:0)
不使用官方插件的任何特殊原因?