|
2 | 2 | * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) |
3 | 3 | * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. |
4 | 4 | * |
5 | | - * Version: 0.4.1 |
| 5 | + * Version: 0.4.3 |
6 | 6 | * |
7 | 7 | */ |
8 | 8 | (function($) { |
|
34 | 34 | // do it for every element that matches selector |
35 | 35 | this.each(function(){ |
36 | 36 |
|
37 | | - var isOverPanel, isOverBar, isDragg, queueHide, barHeight, |
| 37 | + var isOverPanel, isOverBar, isDragg, queueHide, barHeight, percentScroll, |
38 | 38 | divS = '<div></div>', |
39 | 39 | minBarHeight = 30, |
40 | 40 | releaseScroll = false, |
|
182 | 182 | delta = parseInt(bar.css('top')) + y * wheelStep / 100 * bar.outerHeight(); |
183 | 183 |
|
184 | 184 | // move bar, make sure it doesn't go out |
185 | | - delta = Math.max(delta, 0); |
186 | 185 | var maxTop = me.outerHeight() - bar.outerHeight(); |
187 | | - delta = Math.min(delta, maxTop); |
| 186 | + delta = Math.min(Math.max(delta, 0), maxTop); |
188 | 187 |
|
189 | 188 | // scroll the scrollbar |
190 | 189 | bar.css({ top: delta + 'px' }); |
191 | 190 | } |
192 | 191 |
|
193 | 192 | // calculate actual scroll amount |
194 | | - var percentScroll = parseInt( bar.css('top') ) / (me.outerHeight() - bar.outerHeight()); |
| 193 | + percentScroll = parseInt(bar.css('top')) / (me.outerHeight() - bar.outerHeight()); |
195 | 194 | delta = percentScroll * (me[0].scrollHeight - me.outerHeight()); |
196 | 195 |
|
197 | 196 | if (isJump) |
|
209 | 208 |
|
210 | 209 | // trigger hide when scroll is stopped |
211 | 210 | hideBar(); |
212 | | - |
213 | 211 | } |
214 | 212 |
|
215 | 213 | var attachWheel = function() |
|
243 | 241 | // recalculate bar height |
244 | 242 | getBarHeight(); |
245 | 243 | clearTimeout(queueHide); |
246 | | - |
| 244 | + |
| 245 | + // release wheel when bar reached top or bottom |
| 246 | + releaseScroll = percentScroll == ~~ percentScroll; |
| 247 | + |
247 | 248 | // show only when required |
248 | 249 | if(barHeight >= me.outerHeight()) { |
249 | 250 | //allow window scroll |
|
0 commit comments