Quellcode durchsuchen

Bug Fix: Should exclude the last gap to check overflow.

Naotoshi Fujita vor 2 Jahren
Ursprung
Commit
789bde698a

+ 3 - 3
dist/js/splide.cjs.js

@@ -1292,8 +1292,8 @@ function Layout(Splide2, Components2, options) {
     return 0;
   }
 
-  function sliderSize() {
-    return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize();
+  function sliderSize(withoutGap) {
+    return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize(0, withoutGap);
   }
 
   function getGap() {
@@ -1306,7 +1306,7 @@ function Layout(Splide2, Components2, options) {
   }
 
   function isOverflow() {
-    return Splide2.is(FADE) || sliderSize() > listSize();
+    return Splide2.is(FADE) || sliderSize(true) > listSize();
   }
 
   return {

+ 3 - 3
dist/js/splide.esm.js

@@ -1287,8 +1287,8 @@ function Layout(Splide2, Components2, options) {
     return 0;
   }
 
-  function sliderSize() {
-    return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize();
+  function sliderSize(withoutGap) {
+    return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize(0, withoutGap);
   }
 
   function getGap() {
@@ -1301,7 +1301,7 @@ function Layout(Splide2, Components2, options) {
   }
 
   function isOverflow() {
-    return Splide2.is(FADE) || sliderSize() > listSize();
+    return Splide2.is(FADE) || sliderSize(true) > listSize();
   }
 
   return {

+ 3 - 3
dist/js/splide.js

@@ -1285,8 +1285,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
       return 0;
     }
 
-    function sliderSize() {
-      return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize();
+    function sliderSize(withoutGap) {
+      return totalSize(Splide2.length - 1, true) - totalSize(0, true) + slideSize(0, withoutGap);
     }
 
     function getGap() {
@@ -1299,7 +1299,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
     }
 
     function isOverflow() {
-      return Splide2.is(FADE) || sliderSize() > listSize();
+      return Splide2.is(FADE) || sliderSize(true) > listSize();
     }
 
     return {

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/js/splide.min.js


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


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/js/splide.min.js.map


+ 1 - 1
dist/types/index.d.ts

@@ -68,7 +68,7 @@ interface SlideComponent extends BaseComponent {
 interface LayoutComponent extends BaseComponent {
     listSize(): number;
     slideSize(index: number, withoutGap?: boolean): number;
-    sliderSize(): number;
+    sliderSize(withoutGap?: boolean): number;
     totalSize(index?: number, withoutGap?: boolean): number;
     getPadding(right: boolean): number;
     /** @internal */

+ 6 - 4
src/js/components/Layout/Layout.ts

@@ -15,7 +15,7 @@ import { FADE } from '../../constants/types';
 export interface LayoutComponent extends BaseComponent {
   listSize(): number;
   slideSize( index: number, withoutGap?: boolean ): number;
-  sliderSize(): number;
+  sliderSize( withoutGap?: boolean ): number;
   totalSize( index?: number, withoutGap?: boolean ): number;
   getPadding( right: boolean ): number;
 
@@ -223,10 +223,12 @@ export function Layout( Splide: Splide, Components: Components, options: Options
    * Returns the slider size without clones before the first slide.
    * Do not use the clone's size because it's unstable while initializing and refreshing process.
    *
+   * @param withoutGap - Optional. Determines whether to exclude the last gap or not.
+   *
    * @return The width or height of the slider without clones.
    */
-  function sliderSize(): number {
-    return totalSize( Splide.length - 1, true ) - totalSize( 0, true ) + slideSize();
+  function sliderSize( withoutGap?: boolean ): number {
+    return totalSize( Splide.length - 1, true ) - totalSize( 0, true ) + slideSize( 0, withoutGap );
   }
 
   /**
@@ -258,7 +260,7 @@ export function Layout( Splide: Splide, Components: Components, options: Options
    * @return `true` if the carousel is wider than the list, or otherwise `false`.
    */
   function isOverflow(): boolean {
-    return Splide.is( FADE ) || sliderSize() > listSize();
+    return Splide.is( FADE ) || sliderSize( true ) > listSize();
   }
 
   return {

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.