display : “none”,
position : “absolute”,
top : “30px”
});
});
$(“.tabBox h2.curTab”).css({
background : “url(“+$.fn.tabBox.defaults.basePath+”tabCurTab.gif) top center no-repeat”,
“font-weight” : “bolder”
});
$(“.tabBox h2.curTab + div”).css({
display : “block”
});
};
可以看到这个函数全都是设置样式的代码,(也让我体验了一下用jq设置css的快感,依然记得e.style.backgroud的时代~),这个函数保证了显示当前被激活的标签和对应的信息。另外,通过捕捉tab选项卡的click事件来改变当前的激活标签,再渲染一次就可以了。
$(“.tabBox h2”).click(function(){
$(“.tabBox h2”).removeClass(“curTab”);
$(this).addClass(“curTab”);
$.fn.tabBox.render();
});
写完之后的一点思考:
1、对插件自定义选项的做法看不太懂
// build main options before element iteration
var opts = $.extend({}, $.fn.tabBox.defaults, options);
// iterate and reformat each matched element
return this.each(function() {
$this = $(this);
// build element specific options
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
这差不多是从Mike Alsup的文章中照搬过来的。照他的说法,好像是可以自定义整个插件的选项,还可以定义某一个特定元素的选项,可我试了一下,似乎不可以~。难道是我没看懂他说的?
2、目前tab是捕捉click事件的,我想加强一下,可以自定义是捕捉click还是mouseover,是的,可以写两个事件处理函数。但怎么样来通过配置决定调用哪个处理程序呢?
打包下载










