| 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 | } ); |