Преглед на файлове

Make sure the previous transition is cancelled before the new one is made.

Naotoshi Fujita преди 2 години
родител
ревизия
579a91817e

+ 2 - 0
dist/js/splide.cjs.js

@@ -1195,6 +1195,8 @@ const Move = (Splide, Components, options, event) => {
     if (dest !== index && canShift(dest > prev)) {
       cancel();
       translate(shift(getPosition(), dest > prev), true);
+    } else {
+      Transition.cancel();
     }
     set(MOVING);
     emit(EVENT_MOVE, index, prev, dest);

+ 2 - 0
dist/js/splide.esm.js

@@ -1191,6 +1191,8 @@ const Move = (Splide, Components, options, event) => {
     if (dest !== index && canShift(dest > prev)) {
       cancel();
       translate(shift(getPosition(), dest > prev), true);
+    } else {
+      Transition.cancel();
     }
     set(MOVING);
     emit(EVENT_MOVE, index, prev, dest);

+ 2 - 0
dist/js/splide.js

@@ -1191,6 +1191,8 @@
       if (dest !== index && canShift(dest > prev)) {
         cancel();
         translate(shift(getPosition(), dest > prev), true);
+      } else {
+        Transition.cancel();
       }
       set(MOVING);
       emit(EVENT_MOVE, index, prev, dest);

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/js/splide.min.js


BIN
dist/js/splide.min.js.gz


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/js/splide.min.js.map


+ 2 - 0
src/js/components/Move/Move.ts

@@ -93,6 +93,8 @@ export const Move: ComponentConstructor<MoveComponent> = ( Splide, Components, o
     if ( dest !== index && canShift( dest > prev ) ) {
       cancel();
       translate( shift( getPosition(), dest > prev ), true );
+    } else {
+      Transition.cancel();
     }
 
     set( MOVING );

+ 6 - 1
src/js/test/php/examples/default.php

@@ -22,8 +22,9 @@ $settings = get_settings();
     document.addEventListener( 'DOMContentLoaded', function () {
       var splide = new Splide( '#splide01', {
         width: 800,
-        // type        : 'fade',
+        type        : 'loop',
         perPage: 2,
+        releaseTouch: true,
         // perMove: 3,
         // rewind: true,
         // rewindByDrag: true,
@@ -38,6 +39,10 @@ $settings = get_settings();
         label: 'Changed Label',
         // focus: 0,
         // omitEnd: true,
+        wheel: true,
+        wheelAxis: 'xy',
+        // wheelSleep: 200,
+        // direction: 'rtl',
 
         breakpoints: {
           1200: {

+ 4 - 1
src/js/test/php/examples/drag-free.php

@@ -26,9 +26,12 @@ $settings = get_settings();
         // height : 400,
         type   : 'loop',
         // direction: 'rtl',
-        waitForTransition: false,
+        // waitForTransition: false,
       } );
 
+      splide.on( 'move', () => console.log( 'move' ) );
+      splide.on( 'moved', () => console.log( 'moved' ) );
+
       splide.mount();
     } );
   </script>

+ 21 - 14
src/js/test/php/examples/ttb.php

@@ -16,29 +16,36 @@ $settings = get_settings();
   <link rel="stylesheet" href="../../assets/css/styles.css">
   <script src="../../../../../dist/js/splide.js"></script>
 
+  <style>
+    .splide__slide img {
+      width: 100%;
+      height: 100%;
+      object-fit: cover;
+    }
+  </style>
+
   <script>
     document.addEventListener( 'DOMContentLoaded', function () {
       var splide = new Splide( '#splide01', {
-        width       : 400,
-        type     : 'loop',
-        perPage     : 2,
-        padding     : '3rem',
-        gap         : 5,
-        direction   : 'ttb',
-        height      : '90vh',
-        cover       : true,
-        // wheel       : true,
-	      waitForTransition: false,
-        releaseWheel: true,
-        wheel: true,
-        wheelSleep: 500,
+        width            : 400,
+        type             : 'loop',
+        perPage          : 2,
+        padding          : '3rem',
+        gap              : 5,
+        direction        : 'ttb',
+        height           : '90vh',
+        waitForTransition: false,
+        // releaseWheel     : true,
+        // releaseTouch     : true,
+        wheel            : 'free',
+        wheelSleep       : 200,
       } );
 
       splide.mount();
     } );
   </script>
 </head>
-<body>
+<body style="padding: 50vh 0">
 
 <?php render(); ?>
 

Някои файлове не бяха показани, защото твърде много файлове са промени