|
69 | 69 | element.on('mousewheel DOMMouseScroll', function (event) {
|
70 | 70 | var oe = event.originalEvent;
|
71 | 71 | var delta = oe.wheelDelta || -oe.detail;
|
72 |
| - var self = this; |
73 | 72 |
|
74 | 73 | this.scrollTop += ( delta < 0 ? 1 : -1 ) * 30;
|
75 | 74 | event.preventDefault();
|
|
79 | 78 | }
|
80 | 79 |
|
81 | 80 | function tocOverflowIndicator (indicator, action) {
|
82 |
| - $(indicator).velocity('stop').velocity({ |
83 |
| - opacity: action === 'show' ? 0.4 : 0 |
84 |
| - }, { duration: 100 }); |
| 81 | + var $indicator = $(indicator); |
| 82 | + var opacity = action === 'show' ? 0.4 : 0; |
| 83 | + $indicator.velocity ? |
| 84 | + $indicator.velocity('stop').velocity({ |
| 85 | + opacity: opacity |
| 86 | + }, { duration: 100 }) : |
| 87 | + $indicator.stop().animate({ |
| 88 | + opacity: opacity |
| 89 | + }, 100); |
85 | 90 | }
|
86 | 91 |
|
87 | 92 | });
|
88 | 93 | </script>
|
89 | 94 |
|
90 |
| -{% if theme.use_motion %} |
91 |
| - <script type="text/javascript" id="sidebar.nav"> |
92 |
| - $(document).ready(function () { |
93 |
| - var html = $('html'); |
94 |
| - |
95 |
| - $('.sidebar-nav li').on('click', function () { |
96 |
| - var item = $(this); |
97 |
| - var activeTabClassName = 'sidebar-nav-active'; |
98 |
| - var activePanelClassName = 'sidebar-panel-active'; |
99 |
| - if (item.hasClass(activeTabClassName)) { |
100 |
| - return; |
101 |
| - } |
| 95 | +<script type="text/javascript" id="sidebar.nav"> |
| 96 | + $(document).ready(function () { |
| 97 | + var html = $('html'); |
| 98 | + var TAB_ANIMATE_DURATION = 200; |
| 99 | + var hasVelocity = $.isFunction(html.velocity); |
| 100 | + |
| 101 | + $('.sidebar-nav li').on('click', function () { |
| 102 | + var item = $(this); |
| 103 | + var activeTabClassName = 'sidebar-nav-active'; |
| 104 | + var activePanelClassName = 'sidebar-panel-active'; |
| 105 | + if (item.hasClass(activeTabClassName)) { |
| 106 | + return; |
| 107 | + } |
102 | 108 |
|
103 |
| - var currentTarget = $('.' + activePanelClassName); |
104 |
| - var target = $('.' + item.data('target')); |
| 109 | + var currentTarget = $('.' + activePanelClassName); |
| 110 | + var target = $('.' + item.data('target')); |
105 | 111 |
|
106 |
| - currentTarget.velocity('transition.slideUpOut', 200, function () { |
| 112 | + hasVelocity ? |
| 113 | + currentTarget.velocity('transition.slideUpOut', TAB_ANIMATE_DURATION, function () { |
107 | 114 | target
|
108 | 115 | .velocity('stop')
|
109 |
| - .velocity('transition.slideDownIn', 200) |
| 116 | + .velocity('transition.slideDownIn', TAB_ANIMATE_DURATION) |
110 | 117 | .addClass(activePanelClassName);
|
| 118 | + }) : |
| 119 | + currentTarget.animate({ opacity: 0 }, TAB_ANIMATE_DURATION, function () { |
| 120 | + currentTarget.hide(); |
| 121 | + target |
| 122 | + .stop() |
| 123 | + .css({'opacity': 0, 'display': 'block'}) |
| 124 | + .animate({ opacity: 1 }, TAB_ANIMATE_DURATION, function () { |
| 125 | + currentTarget.removeClass(activePanelClassName); |
| 126 | + target.addClass(activePanelClassName); |
| 127 | + }); |
111 | 128 | });
|
112 | 129 |
|
113 |
| - item.siblings().removeClass(activeTabClassName); |
114 |
| - item.addClass(activeTabClassName); |
115 |
| - }); |
| 130 | + item.siblings().removeClass(activeTabClassName); |
| 131 | + item.addClass(activeTabClassName); |
| 132 | + }); |
116 | 133 |
|
117 |
| - $('.post-toc a').on('click', function (e) { |
118 |
| - e.preventDefault(); |
119 |
| - var offset = $(escapeSelector(this.getAttribute('href'))).offset().top; |
| 134 | + $('.post-toc a').on('click', function (e) { |
| 135 | + e.preventDefault(); |
| 136 | + var targetSelector = escapeSelector(this.getAttribute('href')); |
| 137 | + var offset = $(targetSelector).offset().top; |
| 138 | + hasVelocity ? |
120 | 139 | html.velocity('stop').velocity('scroll', {
|
121 | 140 | offset: offset + 'px',
|
122 | 141 | mobileHA: false
|
123 |
| - }); |
124 |
| - }); |
| 142 | + }) : |
| 143 | + $('html, body').stop().animate({ |
| 144 | + scrollTop: offset |
| 145 | + }, 500); |
| 146 | + }); |
125 | 147 |
|
126 |
| - // Expand sidebar on post detail page by default, when post has a toc. |
127 |
| - var $tocContent = $('.post-toc-content'); |
128 |
| - if (isDesktop() && CONFIG.sidebar === 'post') { |
129 |
| - if ($tocContent.length > 0 && $tocContent.html().trim().length > 0) { |
130 |
| - displaySidebar(); |
131 |
| - } |
| 148 | + // Expand sidebar on post detail page by default, when post has a toc. |
| 149 | + var $tocContent = $('.post-toc-content'); |
| 150 | + if (isDesktop() && CONFIG.sidebar === 'post') { |
| 151 | + if ($tocContent.length > 0 && $tocContent.html().trim().length > 0) { |
| 152 | + displaySidebar(); |
132 | 153 | }
|
133 |
| - }); |
134 |
| - </script> |
135 |
| -{% endif %} |
| 154 | + } |
| 155 | + }); |
| 156 | +</script> |
0 commit comments