overflow.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. require_once '../parts.php';
  3. require_once '../settings.php';
  4. $settings = get_settings();
  5. ?>
  6. <!DOCTYPE html>
  7. <html lang="en">
  8. <head>
  9. <meta charset="UTF-8">
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <title>Overflow</title>
  12. <link rel="stylesheet" href="../../../../../dist/css/themes/splide-<?php echo $settings['theme'] ?>.min.css">
  13. <link rel="stylesheet" href="../../assets/css/styles.css">
  14. <script src="../../../../../dist/js/splide.js"></script>
  15. <script>
  16. document.addEventListener( 'DOMContentLoaded', function () {
  17. var splide01 = new Splide( '#splide01', {
  18. fixedWidth : '6rem',
  19. gap : 10,
  20. } );
  21. splide01.on( 'overflow', overflow => {
  22. if ( overflow ) {
  23. console.log( 'splide01: overflow' );
  24. splide01.root.classList.add( 'is-overflow' );
  25. splide01.options = { arrows: true, pagination: true, drag: true };
  26. } else {
  27. console.log( 'splide01: not overflow' );
  28. splide01.root.classList.remove( 'is-overflow' );
  29. splide01.options = { arrows: false, pagination: false, drag: false };
  30. }
  31. } );
  32. splide01.mount();
  33. var splide02 = new Splide( '#splide02', {
  34. type : 'loop',
  35. // gap : '1rem',
  36. fixedWidth: 100,
  37. } );
  38. splide02.on( 'overflow', overflow => {
  39. if ( overflow ) {
  40. console.log( 'splide02: overflow' );
  41. splide02.root.classList.add( 'is-overflow' );
  42. splide02.options = { clones: undefined, arrows: true, pagination: true, drag: true };
  43. } else {
  44. console.log( 'splide02: not overflow' );
  45. splide02.go( 0 );
  46. splide02.root.classList.remove( 'is-overflow' );
  47. splide02.options = { clones: 0, arrows: false, pagination: false, drag: false };
  48. }
  49. } );
  50. splide02.mount();
  51. } );
  52. </script>
  53. <style>
  54. .splide:not( .is-overflow ) .splide__list {
  55. justify-content: center;
  56. }
  57. </style>
  58. </head>
  59. <body>
  60. <?php render( 'splide01' ); ?>
  61. <?php render( 'splide02' ); ?>
  62. </body>
  63. </html>