diff options
author | Wu Cheng-Han | 2016-08-02 10:54:03 +0800 |
---|---|---|
committer | Wu Cheng-Han | 2016-08-02 10:54:03 +0800 |
commit | b6aa0459976165d4388095432c0f356e5f053513 (patch) | |
tree | db662e352aed7af15415290347ab23cdb6a9de79 /public/js | |
parent | 881e92b05ada0f95873be509e4e22487043dfe9b (diff) |
Update to add expand and collapse toggle for TOC, keep showing second level TOC if there is only one first level TOC
Diffstat (limited to 'public/js')
-rw-r--r-- | public/js/extra.js | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/public/js/extra.js b/public/js/extra.js index f20d59d8..40496967 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -568,6 +568,20 @@ function removeHash() { history.pushState("", document.title, window.location.pathname + window.location.search); } +var tocExpand = false; + +function checkExpandToggle() { + var toc = $('.ui-toc-dropdown .toc'); + var toggle = $('.expand-toggle'); + if (!tocExpand) { + toc.removeClass('expand'); + toggle.text('Expand all'); + } else { + toc.addClass('expand'); + toggle.text('Collapse all'); + } +} + //toc function generateToc(id) { var target = $('#' + id); @@ -581,8 +595,16 @@ function generateToc(id) { }); if (target.text() == 'undefined') target.html(''); + var toggle = $('<a class="expand-toggle" href="#">Expand all</a>'); var backtotop = $('<a class="back-to-top" href="#">Back to top</a>'); var gotobottom = $('<a class="go-to-bottom" href="#">Go to bottom</a>'); + checkExpandToggle(); + toggle.click(function (e) { + e.preventDefault(); + e.stopPropagation(); + tocExpand = !tocExpand; + checkExpandToggle(); + }); backtotop.click(function (e) { e.preventDefault(); e.stopPropagation(); @@ -597,7 +619,7 @@ function generateToc(id) { scrollToBottom(); removeHash(); }); - target.append(backtotop).append(gotobottom); + target.append(toggle).append(backtotop).append(gotobottom); } //smooth all hash trigger scrolling |