📄 tbtablet.js
字号:
TBTablet = {};
TBTablet.getElementChildNodes = function(p) {
var ret = [];
if (!p) ret;
for (var i = 0, c = p.childNodes; i < c.length; i++) {
if (c[i].nodeType == 1)
ret[ret.length] = c[i];
}
return ret;
}
TBTablet.attach = function(container, config) {
var container = (typeof container == 'string')?document.getElementById(container):container;
var config = config || {};
var panels = this.getElementChildNodes(container);
var tab = panels.shift(0);
var currClass = config.currentClass || 'current';
var tabTriggers = tab.getElementsByTagName('a');
if (config.tabClass) {
var filter = [];
for (var i = 0; i < tabTriggers.length; i++) {
if (tabTriggers[i].className.indexOf(config.tabClass) != -1)
filter.push(tabTriggers[i]);
}
tabTriggers = filter;
}
for (var i = 0; i < panels.length; i++) {
panels[i].style.display = 'none';
}
function $li(o) {
var p = o.parentNode;
while (p) {
if (p.tagName.toLowerCase() == 'li') {
break;
}
p = p.parentNode;
}
return p;
}
var tbt = {
switchTab: function(idx) {
for (var i = 0; i < panels.length; i++) {
panels[i].style.display = 'none';
}
var re = new RegExp('\s*' + currClass, 'i');
for (var i = 0; i < tabTriggers.length; i++) {
var tp = $li(tabTriggers[i]);
tp.className = tp.className.replace(re, '');
}
panels[idx].style.display = 'block';
$li(tabTriggers[idx]).className += ' ' + currClass;
}
}
var et = (config.eventType == 'mouse') ? 'onmouseover' : 'onclick';
var isDelay = (config.eventType == 'mouse' && config.delay);
for (var i = 0; i < tabTriggers.length; i++) {
tabTriggers[i]['onfocus'] = function(idx) {
var handler = function() {
if (tbt.delayTimeId)
clearTimeout(tbt.delayTimeId);
tbt.switchTab(idx);
if (config.onSwitch)
config.onSwitch(idx);
return false;
}
if (isDelay) {
tabTriggers[i]['onmouseover'] = function() {
tbt.delayTimeId = setTimeout(handler, config.delay*1000);
}
tabTriggers[i]['onmouseout'] = function() {
clearTimeout(tbt.delayTimeId);
}
} else {
tabTriggers[i][et] = function(){this.focus();return false;};
}
return handler;
}(i);
}
if (!config.disableAutoSwitchToFirst)
tbt.switchTab(0);
return tbt;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -