tag,tag插件,可自定义tag选项卡
<script>(function($){$.fn.format = function(o){var newobj = null;if(o.indexOf("{") != -1){//判断是否有自定义参数//获取自定义参数o = o.split(/[{}]/);//正则去除"{"和"}"newobj = "({success:1,"+o+"})";//success = 1成功; =0失败}else{//默认参数newobj = "({success:0})";}return eval(newobj);//以json格式返回数据};$.fn.Options = function(options){ return options == null ? $.fn.format(this.className) : (typeof(options) == "object" ? options : $.fn.format($(this).attr(options)));}; $.fn.extend({ uiTag:function(options){//tagreturn this.each(function(){var name = $.fn.Options.call(this,options);//获取数组name = $.extend({},$.fn.uiTag.defaults,name);//重置数组,把自定义函数和默认函数合并到一起Tag(name,this);});});$.fn.uiTag.defaults = {//tag默认设置movetag: "li",//点击切换showtag: ".stag",//显示/隐藏addtclass:"tselected",//选项卡增加classaddsclass:"stselected",//显示/隐藏增加classauto:true,//针对链接可点/不可点time: 300//超时时间};})(jQuery);//tag选项卡function Tag(data,o){//tag绑定var T = null;$(o).find(data.movetag).bind({click:function(){//点击tagTag.TagEnforce(data,this,o,$(this).index());return data.auto;},mouseover:function(){//鼠标移上去tagvar index = $(this).index();var $this = this;T = setTimeout(function(){Tag.TagEnforce(data,$this,o,index);},data.time);},mouseout:function(){//鼠标移开tagclearTimeout(T);}});}Tag.TagEnforce = function(data,obj,o,n){//tag处理$(obj).addClass(data.addtclass).siblings().removeClass(data.addtclass);$(o).siblings().find(data.showtag).eq(n).addClass(data.addsclass).siblings().removeClass(data.addsclass);};</script>/*html示例:<div><div class="tag {movetag:'span',showtag:'.tnav',addsclass:'selected',auto:false}"><span class="tselected"><a href="http://www.guanxin.com">111</a></span><span>222</span><span>333</span><span>444</span><span>555</span></div><div class="showtag"><div class="tnav selected">1111111</div> <div class="tnav">2222222</div> <div class="tnav">3333333</div> <div class="tnav">4444444</div> <div class="tnav">5555555</div></div></div><script>$("tag").uiTag();</script>*/
页:
[1]