山寨腾讯的Tab切换特效添加了自动切换功能
2012-09-10 16:11
363 查看
var Tab=function (){ this.initialize.apply(this,arguments); }; Tab.prototype={ initialize:function (a){ this.setOptions(a); this.binding(); }, setOptions:function (a){ this.tabElement=a.tabElement||null; this.contentElement=a.contentElement||null; this.currentClass=a.currentClass||"selected"; this.eventType=a.eventType||"onclick"; this.defaultIndex=a.defaultIndex||0; this.deferTime=Math.abs(a.deferTime)||100; this.autoTab = a.autoTab == undefined ? !0 : a.autoTab; this.autoDeferTime=5000; this.tabTimer = 0; this.targetCache=null; }, binding:function (){ var a=this.tabElement.children; var b=this.contentElement.children; var c=a.length; var d=this; var e=this.defaultIndex; for(;c--;) { a[c].setAttribute("index",c); } a[e].className=d.currentClass; var h=a[e].getAttribute("index"); b[h].style.display="block"; this.targetCache=a[e]; d.autoTab&&d.loopTab(); this.tabElement[this.eventType]=function (a){ a=a||window.event; var c=a.target||a.srcElement; if(this!=c.parentNode) { if (this == c.parentNode.parentNode) { c = c.parentNode; } else { return; } } d.tabTimer=window.setTimeout(function (a){ window.clearTimeout(d.tabTimer); return function() { var c=a.getAttribute("index"); var e=d.targetCache.getAttribute("index"); c!=e&&(a.className=d.currentClass,b[c].style.display="block",d.targetCache.className="",b[e].style.display="none",d.targetCache=a)&&d.autoTab&&d.loopTab(); } }(c), d.deferTime); } }, loopTab : function() { this.tabTimer = window.setTimeout(function(object, fun){ var args = Array.prototype.slice.call(arguments).slice(2); return function() { var a=object.tabElement.children; var b=object.contentElement.children; var c=a.length; var d=object; var e=parseInt(object.targetCache.getAttribute("index")); var n = (e + 1 < c) ? e + 1 : 0; a .className=d.currentClass; b .style.display="block"; d.targetCache.className=""; b[e].style.display="none"; d.targetCache=a ; return fun.apply(object, args.concat(Array.prototype.slice.call(arguments))); } }(this, this.loopTab), this.autoDeferTime); } } /* var eduNum=document.getElementById("qq-tabs4").children.length,eduRan=Math.floor(Math.random()*eduNum); new Tab({ tabElement:document.getElementById("qq-tabs4"),contentElement:document.getElementById("qq-contents4"),eventType:"onmouseover",defaultIndex:eduRan }) */
相关文章推荐
- 为python命令行添加Tab键自动补全功能
- CentOS下为python命令行添加Tab键自动补全功能
- 分步解析JavaScript实现tab选项卡自动切换功能
- 前端设计js+Tab切换可关闭+添加并自动判断是否已打开自动切换当前状态
- 山寨腾讯“爱消除”游戏之自动提示特效
- Python命令行添加Tab键自动补全功能
- 分步解析JavaScript实现tab选项卡自动切换功能
- 为Python添加交互模式下TAB自动补全以及命令历史功能
- css3实现的翻转特效及tab切换功能
- Python添加tab自动补全及命令历史功能。
- python添加tab键自动补全功能
- CentOS下为python命令行添加Tab键自动补全功能
- 为python命令行添加Tab键自动补全功能
- linux下 为自己编写的程序 添加tab自动补全 功能
- android--解决方案--自定义tabhost(动态添加选项+带自动水平滑动选项卡+手势切换选项卡及内容功能)
- html+css+jQuery+JavaScript实现tab自动切换功能
- 为python命令行添加Tab键自动补全功能
- Python下靠谱实现tab自动添加功能
- CentOS下为python命令行添加Tab键自动补全功能
- CentOS下为python命令行添加Tab键自动补全功能