Diff options
| author | Bryce Kwon <bryce@brycekwon.com> | |
|---|---|---|
| committer | Bryce Kwon <bryce@brycekwon.com> | |
| commit | ||
| parent | ||
| tree | ||
| download | ||
Hand the tab fade to its listeners directly
Diffstat (limited to '')
| -rw-r--r-- | assets/cgit.js | 22 |
1 file changed, 11 insertions, 11 deletions
diff --git a/assets/cgit.js b/assets/cgit.js index a22380c..40467a7 100644 --- a/assets/cgit.js +++ b/assets/cgit.js @@ -172,18 +172,18 @@ window.cgit.highlightLines = place_bar; (function () { -function fade_tabs(list) { - var hidden = list.scrollWidth - list.clientWidth; - - // A fractional scroll position can stop a pixel short of either end. - list.classList.toggle("fade-start", list.scrollLeft > 1); - list.classList.toggle("fade-end", list.scrollLeft < hidden - 1); -} - function fit_tabs() { var list = document.querySelector("nav.tabs ul"); var active, list_box, tab_box; + function fade_tabs() { + var hidden = list.scrollWidth - list.clientWidth; + + // A fractional scroll position can stop a pixel short of either end. + list.classList.toggle("fade-start", list.scrollLeft > 1); + list.classList.toggle("fade-end", list.scrollLeft < hidden - 1); + } + if (!list) return; active = list.querySelector("a.active"); @@ -192,9 +192,9 @@ function fit_tabs() { tab_box = active.getBoundingClientRect(); list.scrollLeft += tab_box.left - list_box.left - (list_box.width - tab_box.width) / 2; } - fade_tabs(list); - list.addEventListener("scroll", function () { fade_tabs(list); }, { passive: true }); - window.addEventListener("resize", function () { fade_tabs(list); }, false); + fade_tabs(); + list.addEventListener("scroll", fade_tabs, { passive: true }); + window.addEventListener("resize", fade_tabs, false); } document.addEventListener("DOMContentLoaded", fit_tabs, false); |
