mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
/* |
|
js tabs and tabbed content plugin |
|
*/ |
|
function Tabs(selector) { |
|
|
|
function hide($nav) { |
|
console.log("hide", $nav); |
|
$nav.removeClass("js-tab-nav-show"); |
|
$($nav.data("tab-target")).removeClass("js-tab-show").hide(); |
|
} |
|
|
|
function show($nav) { |
|
console.log("show", $nav); |
|
$nav.addClass("js-tab-nav-show"); |
|
$($nav.data("tab-target")).addClass("js-tab-show").show(); |
|
} |
|
|
|
var $e = $(selector); |
|
if ($e.length) { |
|
// pre-assign init index |
|
var $current = $e.find('.js-tab-nav-show'); |
|
if ($current.length) { |
|
$($current.data("tab-target")).addClass("js-tab-show"); |
|
} |
|
// bind nav click |
|
$e.on("click", ".js-tab-nav", function (e) { |
|
e.preventDefault(); |
|
var $this = $(this); |
|
// is showing, not change. |
|
if ($this.hasClass("js-tab-nav-show")) { |
|
return; |
|
} |
|
$current = $e.find(".js-tab-nav-show").eq(0); |
|
hide($current); |
|
show($this); |
|
}); |
|
console.log("init tabs @", selector) |
|
} |
|
} |
|
|
|
$.fn.extend({ |
|
tabs: function () { |
|
Tabs(this); |
|
} |
|
}); |