@@ -21,7 +21,7 @@ function _createClass(Constructor, protoProps, staticProps) {
21
21
}
22
22
/*!
23
23
* Splide.js
24
- * Version : 4.0.15
24
+ * Version : 4.0.16
25
25
* License : MIT
26
26
* Copyright: 2022 Naotoshi Fujita
27
27
*/
@@ -1642,6 +1642,7 @@ function Scroll(Splide2, Components2, options) {
1642
1642
var set = Splide2 . state . set ;
1643
1643
var Move2 = Components2 . Move ;
1644
1644
var getPosition = Move2 . getPosition , getLimit = Move2 . getLimit , exceededLimit = Move2 . exceededLimit , translate = Move2 . translate ;
1645
+ var isSlide = Splide2 . is ( SLIDE ) ;
1645
1646
var interval ;
1646
1647
var callback ;
1647
1648
var friction = 1 ;
@@ -1652,7 +1653,7 @@ function Scroll(Splide2, Components2, options) {
1652
1653
function scroll ( destination , duration , snap , onScrolled , noConstrain ) {
1653
1654
var from = getPosition ( ) ;
1654
1655
clear ( ) ;
1655
- if ( snap ) {
1656
+ if ( snap && ( ! isSlide || ! exceededLimit ( ) ) ) {
1656
1657
var size = Components2 . Layout . sliderSize ( ) ;
1657
1658
var offset = sign ( destination ) * size * floor ( abs ( destination ) / size ) || 0 ;
1658
1659
destination = Move2 . toPosition ( Components2 . Controller . toDest ( destination % size ) ) + offset ;
@@ -1676,7 +1677,7 @@ function Scroll(Splide2, Components2, options) {
1676
1677
var target = from + ( to - from ) * easing ( rate ) ;
1677
1678
var diff = ( target - position ) * friction ;
1678
1679
translate ( position + diff ) ;
1679
- if ( Splide2 . is ( SLIDE ) && ! noConstrain && exceededLimit ( ) ) {
1680
+ if ( isSlide && ! noConstrain && exceededLimit ( ) ) {
1680
1681
friction *= FRICTION_FACTOR ;
1681
1682
if ( abs ( diff ) < BOUNCE_DIFF_THRESHOLD ) {
1682
1683
scroll ( getLimit ( exceededLimit ( true ) ) , BOUNCE_DURATION , false , callback , true ) ;
0 commit comments