经过几次修改,Tab切换类Lix Tabs 0.2正式发布,有人鼓掌么?没有!那算了。。。
Lix Tabs 0.1及使用方式请点这里
Lix Tabs 0.2的源码:
/* 类:Lix Tabs版本:0.2作者:十年灯 :欢迎使用,欢迎转载,但请勿据为已有*/ var $id=function(id){return (typeof id == "Object") ? id : ElementById(id);};var $$=function(tag,elm){ElementsByTagName(tag);};var $C=function(cn,tag,elm){if(!tag) tag='*';var ts = $$(tag,elm);var classArr = [];var filter = new RegExp("(^|\s)"+cn+"(\s|$)");for(var i=0,l=ts.length;i<l;i++){st(ts[i].className)){classArr.push(ts[i]);}}return classArr;}var cutover=function(arr,cur,c1,c0){for(var i=0,l=arr.length;i<l;i++){arr[i].className = (i ==cur) ? c1 : c0;}}var Bind = function(object, fun) {return function() {return fun.apply(object);}}var Tabs = function (elm,items){if(elm == null){return false;}var t=this;var a=items;/*开始缓存传入参数*/t.hdtag =a.hdtag || 'DIV';t.hdcn =a.hdcn || 'tabhd';t.hdtagcur =a.hdtagcur || 'cur';t.hdtagno =a.hdtagno || '';t.bdtag =a.bdtag || 'DIV';t.bdcn =a.bdcn || 'tabbd';t.bdtagcur =a.bdtagcur || 'cur';t.bdtagno =a.bdtagno || '';/*缓存参数完成*/t.tabhd = $C(t.hdcn,t.hdtag,elm)[0];t.tabtag = t.tabhd.children;t.tabbd = $C(t.bdcn,t.bdtag,elm)[0];t.tabcon = t.tabbd.w = s = true;t.time =a.auto;t.sum = t.tabtag.length;if(t.sum != t.tabcon.length) {alert('Tab标签个数与内容个数不匹配');return true;}/**/for(var i=0;i<t.sum;i++){t.tabtag[i].to = i;t.tabtag[i].onmouseover = function(){t.now = ;t.yes = false;this.run = setTimeout(Bind(t,t.change),300);}t.tabtag[i].onmouseout = function(){t.yes = true;clearTimeout(this.run);}}this.change();if(t.time){useover = function(){t.stop()}useout = function(){t.go()}}}Tabs.prototype = {change:function(){cutover(this.w,this.hdtagcur,this.hdtagno);cutover(this.w,this.bdtagcur,this.bdtagno);if(this.time && s){w = (w == this.sum-1) ? 0 : w+();}},go:function(){this.stop();this.auto = setTimeout(Bind(this,this.change),this.time)},stop:function(){clearTimeout(this.auto);}};
相对于0.1来说,Lix Tabs 0.2做了如下改进:
0.2相对于0.1的优化:
0.2依旧待改进的地方:
效果预览:点这里
实例打包下载:点这里
------------------------------------------------------------------------
总结:函数转接真的很重要,这次主要的看得见的改进就是加入了切换延迟,但就是这一点小功能简直让我束手无策。由于this的指向变了,老是让需要调用的函数执行出错。。呃
转载于:.html
本文发布于:2024-02-04 10:18:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170704932854693.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |