-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatab.js
18 lines (18 loc) · 826 Bytes
/
atab.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function tab(groupname, mode, activeClass) {
var $item = $('[data-groupname="' + groupname + '"][data-tab="item"]');
var $content = $('[data-groupname="' + groupname + '"][data-tab="content"]');
var $itemActive = $item.filter('.' + (activeClass || 'active'));
if($itemActive.length == 1) {
var index = $item.index($itemActive);
$content.not($content.eq(index)).hide();
} else {
$content.not(':first').hide();
}
$('html, body').on(mode || 'click', '[data-groupname="' + groupname + '"][data-tab="item"]', function() {
var index = $item.index(this);
$(this).addClass(activeClass || 'active');
$item.not($item.eq(index)).removeClass(activeClass || 'active');
$content.eq(index).show();
$content.not($content.eq(index)).hide();
});
}