multiple.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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>Multiple</title>
  12. <link rel="stylesheet" href="../../../../../dist/css/splide-core.min.css">
  13. <link rel="stylesheet" href="../../../../../dist/css/themes/splide-<?php echo $settings['theme'] ?>.min.css">
  14. <link rel="stylesheet" href="../../assets/css/styles.css">
  15. <script type="text/javascript" src="../../../../../dist/js/splide.js"></script>
  16. <script>
  17. document.addEventListener( 'DOMContentLoaded', function () {
  18. new Splide( '#splide01', {
  19. type : 'slide',
  20. perPage : 1,
  21. // gap : '.5rem',
  22. pagination: false,
  23. // speed: 1000,
  24. arrows: false,
  25. classes: {
  26. arrows: 'splide__arrows splide__test',
  27. },
  28. } ).mount();
  29. new Splide( '#splide02', {
  30. perPage : 1,
  31. gap : '1.5rem',
  32. pagination: false,
  33. arrows: false,
  34. classes: {
  35. arrows: 'splide__arrows splide__test',
  36. },
  37. } ).mount();
  38. new Splide( '#splide03', {
  39. type : 'slide',
  40. perPage : 3,
  41. gap : '1.5rem',
  42. pagination: false,
  43. arrows: false,
  44. classes: {
  45. arrows: 'splide__arrows splide__test',
  46. },
  47. } ).mount();
  48. new Splide( '#splide04', {
  49. type : 'slide',
  50. perPage : 1,
  51. gap : '1.5rem',
  52. pagination: false,
  53. arrows: false,
  54. classes: {
  55. arrows: 'splide__arrows splide__test',
  56. },
  57. } ).mount();
  58. new Splide( '#splide05', {
  59. type : 'slide',
  60. perPage : 2,
  61. gap : '1.5rem',
  62. pagination: false,
  63. arrows: false,
  64. classes: {
  65. arrows: 'splide__arrows splide__test',
  66. },
  67. } ).mount();
  68. new Splide( '#splide06', {
  69. type : 'slide',
  70. perPage : 4,
  71. gap : '1.5rem',
  72. pagination: false,
  73. arrows: false,
  74. classes: {
  75. arrows: 'splide__arrows splide__test',
  76. },
  77. } ).mount();
  78. new Splide( '#splide07', {
  79. type : 'slide',
  80. perPage : 1,
  81. gap : '1.5rem',
  82. pagination: false,
  83. arrows: false,
  84. classes: {
  85. arrows: 'splide__arrows splide__test',
  86. },
  87. } ).mount();
  88. new Splide( '#splide08', {
  89. type : 'slide',
  90. perPage : 3,
  91. gap : '1.5rem',
  92. pagination: false,
  93. arrows: false,
  94. classes: {
  95. arrows: 'splide__arrows splide__test',
  96. },
  97. } ).mount();
  98. new Splide( '#splide09', {
  99. type : 'slide',
  100. perPage : 3,
  101. gap : '1.5rem',
  102. pagination: false,
  103. arrows: false,
  104. classes: {
  105. arrows: 'splide__arrows splide__test',
  106. },
  107. } ).mount();
  108. } );
  109. </script>
  110. <style>
  111. body {
  112. margin: 50em 0;
  113. }
  114. </style>
  115. </head>
  116. <body>
  117. <?php render(); ?>
  118. <?php render( 'splide02' ); ?>
  119. <?php render( 'splide03' ); ?>
  120. <?php render( 'splide04' ); ?>
  121. <?php render( 'splide05' ); ?>
  122. <?php render( 'splide06' ); ?>
  123. <?php render( 'splide07' ); ?>
  124. <?php render( 'splide08' ); ?>
  125. <?php render( 'splide09' ); ?>
  126. <script>
  127. Array.from( document.querySelectorAll( '.splide' ) ).forEach( elm => {
  128. const splide = new Splide( elm, { rewind: true, interval: 1000 } ).mount();
  129. const Autoplay = splide.Components.Autoplay;
  130. const observer = new IntersectionObserver( ( [ entry ] ) => {
  131. entry.isIntersecting ? Autoplay.play() : Autoplay.pause();
  132. }, { threshold: 0.8 } );
  133. observer.observe( elm );
  134. } );
  135. </script>
  136. </body>
  137. </html>