diff options
| author | Jacob Thornton <[email protected]> | 2015-08-18 21:23:53 -0700 |
|---|---|---|
| committer | Jacob Thornton <[email protected]> | 2015-08-18 21:23:53 -0700 |
| commit | 4e45e2363c452e57d187cfd3c64cb0503b881a40 (patch) | |
| tree | f1f359c9300fd539838214d928dc762d520727bb /js/src | |
| parent | fd65b9f32ef0aab74fc8ad9631fecccf0b843bf6 (diff) | |
| parent | 1c19ded8c14cc9caca8ca2992834e2900dbbb4e5 (diff) | |
| download | bootstrap-4e45e2363c452e57d187cfd3c64cb0503b881a40.tar.xz bootstrap-4e45e2363c452e57d187cfd3c64cb0503b881a40.zip | |
Merge branch 'v4' of github.com:twbs/derpstrap into v4
Diffstat (limited to 'js/src')
| -rw-r--r-- | js/src/scrollspy.js | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js index 9476c46ce..27a91958e 100644 --- a/js/src/scrollspy.js +++ b/js/src/scrollspy.js @@ -43,18 +43,23 @@ const ScrollSpy = (($) => { } const ClassName = { - DROPDOWN_TOGGLE : 'dropdown-toggle', - DROPDOWN_ITEM : 'dropdown-item', - DROPDOWN_MENU : 'dropdown-menu', - ACTIVE : 'active' + DROPDOWN_ITEM : 'dropdown-item', + DROPDOWN_MENU : 'dropdown-menu', + NAV_LINK : 'nav-link', + NAV : 'nav', + ACTIVE : 'active' } const Selector = { - DATA_SPY : '[data-spy="scroll"]', - ACTIVE : '.active', - LI_DROPDOWN : 'li.dropdown', - NAV_LINKS : '.nav-link', - DROPDOWN_ITEMS : '.dropdown-item' + DATA_SPY : '[data-spy="scroll"]', + ACTIVE : '.active', + LIST_ITEM : '.list-item', + LI : 'li', + LI_DROPDOWN : 'li.dropdown', + NAV_LINKS : '.nav-link', + DROPDOWN : '.dropdown', + DROPDOWN_ITEMS : '.dropdown-item', + DROPDOWN_TOGGLE : '.dropdown-toggle' } const OffsetMethod = { @@ -237,22 +242,25 @@ const ScrollSpy = (($) => { return `${selector}[data-target="${target}"],` + `${selector}[href="${target}"]` }) + let $link = $(queries.join(',')) if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { - $link.parent().find(ClassName.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE) + $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE) + $link.addClass(ClassName.ACTIVE) + } else { + // todo (fat) this is kinda sus… + // recursively add actives to tested nav-links + $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE) } - $link.addClass(ClassName.ACTIVE) - $(this._scrollElement).trigger(Event.ACTIVATE, { relatedTarget: target }) } _clear() { - debugger - $(this._selector).filter(ClassName.ACTIVE).removeClass(Selector.ACTIVE) + $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE) } |
