| | 648 | if ( this.model.get( 'compareTwoMode' ) ) |
| | 649 | return; |
| | 650 | |
| | 651 | // Track the mouse position to enable smooth dragging, |
| | 652 | // overrides default jQuery UI step behaviour. |
| | 653 | $( window ).on( 'mousemove', { slider: this }, function( e ) { |
| | 654 | var slider = e.data.slider, |
| | 655 | sliderLeft = slider.$el.offset().left, |
| | 656 | sliderRight = sliderLeft + slider.$el.width(); |
| | 657 | |
| | 658 | // Follow mouse movements, as long as handle remains inside slider. |
| | 659 | if ( e.clientX < sliderLeft ) { |
| | 660 | $( ui.handle ).css( 'left', 0 ); // Mouse to left of slider. |
| | 661 | } else if ( e.clientX > sliderRight ) { |
| | 662 | $( ui.handle ).css( 'left', sliderRight - sliderLeft); // Mouse to right of slider. |
| | 663 | } else { |
| | 664 | $( ui.handle ).css( 'left', e.clientX - sliderLeft ); // Mouse in slider. |
| | 665 | } |
| | 666 | } ); |