index.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. <!DOCTYPE html>
  2. <html lang="ko">
  3. <head>
  4. <meta charset="euc-kr">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta property="og:image" content="assets/img/img_thumb.jpg" />
  7. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
  8. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
  9. <link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/ungveloper/web-fonts/GmarketSans/font-face.css" />
  10. <link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css" />
  11. <link rel="stylesheet" href="assets/css/style.css">
  12. <link rel="icon" href="assets/img/favicon.ico">
  13. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  14. <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
  15. <title>스플라스 스파&워터파크</title>
  16. </head>
  17. <body>
  18. <section class="evt--section01">
  19. <div class="palm--img1"><img src="assets/img/img_1.png" alt=""></div>
  20. <div class="palm--img2"><img src="assets/img/img_2.png" alt=""></div>
  21. <div class="wave--bg"></div>
  22. <div class="section--container">
  23. <div class="section--title">
  24. <div class="logo"><img src="assets/img/logo.png"></div>
  25. <h1><img src="assets/img/font_2.png" alt="스플라스 스파&워터파크">
  26. <div class="bg--wave--wrap">
  27. <div class="bg--wave">
  28. <img class="bg--wave1" src="assets/img/bg_wave_1.png" alt="">
  29. <img class="bg--wave2" src="/assets/img/bg_wave_2.png" alt="">
  30. </div>
  31. </div>
  32. </h1>
  33. <h2><img src="assets/img/font_3.png" alt="RENEW-ALL"></h2>
  34. <h3><img src="assets/img/font_10.png" alt="GRAND RE-OPENING"></h3>
  35. <div class="bg1 floating"><img src="assets/img/img_bg_1.png" alt=""></div>
  36. <div class="bg2 floating"><img src="assets/img/img_bg_2.png" alt=""></div>
  37. <div class="bg4 floating"><img src="assets/img/img_bg_4.png" alt=""></div>
  38. <div class="bubble--bg"></div>
  39. </div>
  40. <div class="video--wrap">
  41. <video controls="true" id="tsVideo" muted type="video/mp4">
  42. <source src="assets/img/splas_video.MOV">
  43. 해당 브라우저는 video 태그를 지원하지 않습니다.
  44. </video>
  45. </video>
  46. <div class="video--btn play"></div>
  47. </div>
  48. <div class="swiper--wrap">
  49. <div class="bg1"><img src="assets/img/img_bg_7.png" alt=""></div>
  50. <div class="bg3"><img src="assets/img/img_bg_8.png" alt=""></div>
  51. <div class="swiper swiper1">
  52. <div class="swiper--tab--wrap">
  53. <button class="tab--btn active" data-index="0">아쿠아 스톰</button>
  54. <button class="tab--btn" data-index="1">블라스터 2종</button>
  55. <button class="tab--btn" data-index="2">하이드로 스핀</button>
  56. <button class="tab--btn" data-index="3">스트림 리버</button>
  57. <button class="tab--btn" data-index="4">온천 스파</button>
  58. </div>
  59. <div class="swiper-wrapper">
  60. <div class="swiper-slide">
  61. <div class="slide--wrap">
  62. <div class="slide--img">
  63. <span class="new--icon"></span>
  64. <img src="assets/img/img_3.png" alt="">
  65. </div>
  66. <div class="slide--desc">
  67. <h4>아쿠아 스톰 <span>AQUA STORM</span></h4>
  68. <p>새롭게 선보이는 패밀리형 파도풀로 8가지 패턴의 다이나믹한 파도가 몰아칩니다.<br>
  69. 최대 1.8m의 파고로 아이들과 함께 안전하면서도 신나게 즐길 수 있습니다.
  70. </p>
  71. </div>
  72. </div>
  73. </div>
  74. <div class="swiper-slide">
  75. <div class="slide--wrap">
  76. <div class="slide--img">
  77. <span class="new--icon"></span>
  78. <img src="assets/img/img_4.png" alt="">
  79. </div>
  80. <div class="slide--desc type2">
  81. <h4>토네이도 블라스터 <span>TORNADO BLASTER</span></h4>
  82. <p>롤러코스터를 타듯 198m 내내 스릴 넘치는 워터 슬라이드입니다. 마치 블랙홀로 빠져드는 듯한 스피드의 토네이도존과 컬러풀한 특수효과존이 즐거움을 더해줍니다.</p>
  83. <h4>갤럭시 블라스터 <span>GALAXY BLASTER</span></h4>
  84. <p>업앤다운을 반복하며 시원하게 스피드를 즐기는 직선 튜브와 빙글뱅글 회오리 존, 시각적인 재미를 더한 특수효과 존까지! 193m 슬라이드를 타는 내내 익사이팅한 매력에 기다리는 시간도 즐거워져요.</p>
  85. </div>
  86. </div>
  87. </div>
  88. <div class="swiper-slide">
  89. <div class="slide--wrap">
  90. <div class="slide--img">
  91. <span class="new--icon"></span>
  92. <img src="assets/img/img_5.png" alt="">
  93. </div>
  94. <div class="slide--desc">
  95. <h4>하이드로 스핀 <span>HYDRO SPIN</span></h4>
  96. <p>짧지만 강한 재미를 느낄 수 있는 신규 어트랙션. 튜브를 타고 최대 속도 45km/hr로 <br>빠르게 상승과 하강을 반복해 지루할 틈 없는 U형 무동력 슬라이드입니다.</p>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="swiper-slide">
  101. <div class="slide--wrap">
  102. <div class="slide--img">
  103. <img src="assets/img/img_6.png" alt="">
  104. </div>
  105. <div class="slide--desc">
  106. <h4>스트림 리버 <span>STREAM RIVER</span></h4>
  107. <p>스플라스 워터파크에서 단연 최고의 인기를 자랑하는 토렌트 리버가 업그레이드 되어 돌아왔습니다. <br>동종 시설 중 가장 액티브한 급류 파도풀로, 최대 파고 2.5M 로 리뉴얼되어 더욱 강력해진 짜릿함을 선사합니다.</p>
  108. </div>
  109. </div>
  110. </div>
  111. <div class="swiper-slide">
  112. <div class="slide--wrap">
  113. <div class="slide--img">
  114. <img src="assets/img/img_7.png" alt="">
  115. </div>
  116. <div class="slide--desc">
  117. <h4>실내 · 야외 온천 스파</h4>
  118. <p>조용하고 편안하게 즐기는 실내 스파, 장르 별 음악과 은은한 허브향이 함께하는 야외 스파, <br>계절과 테마 별 이색 컨텐츠를 담은 이벤트 스파까지. 17개의 온천 스파를 취향 따라 즐겨보세요.</p>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="swiper-pagination"></div>
  125. <div class="swiper-button-next"></div>
  126. <div class="swiper-button-prev"></div>
  127. </div>
  128. </div>
  129. </section>
  130. <section class="evt--section02-1">
  131. <div class="cloud--img1"><img src="assets/img/img_9.png" alt=""></div>
  132. <div class="cloud--img2"><img src="assets/img/img_8.png" alt=""></div>
  133. <div class="section--container">
  134. <div class="evt--1">
  135. <span class="evt--circle">EVENT.01</span>
  136. <h3>내 취향 알고 즐기자!</h3>
  137. <h2><img src="assets/img/font_4.png" alt="물놀이 성향 테스트"></h2>
  138. <p class="evt--box"><img src="assets/img/img_16.png" alt="나에게 맞는 스타일은?"></p>
  139. <a href="#"><img src="assets/img/img_14.png" alt=""></a>
  140. <div class="bg1"><img src="assets/img/img_10.png" alt=""></div>
  141. <div class="bg2"><img src="assets/img/img_11.png" alt=""></div>
  142. <div class="bg3"><img src="assets/img/img_12.png" alt=""></div>
  143. <div class="bg4"><img src="assets/img/img_13.png" alt=""></div>
  144. </div>
  145. </div>
  146. </section>
  147. <section class="evt--section02-2">
  148. <!-- <div class="bg1"><img src="assets/img/bg_5.png" alt=""></div>
  149. <div class="bg2"><img src="assets/img/bg_6.png" alt=""></div> -->
  150. <div class="section--container">
  151. <div class="evt--2">
  152. <span class="evt--circle">EVENT.02</span>
  153. <h3>인스타그램 댓글 이벤트</h3>
  154. <h2><img src="assets/img/font_5.png" alt="이모지 퀴즈"></h2>
  155. <div class="evt--box2"><img src="assets/img/font_6.png" alt=""></div>
  156. <ul class="evt--box">
  157. <li><span class="circle">기 간</span>2025.05.30 - 2025.06.08</li>
  158. <li><span class="circle">내 용</span>이모지 힌트로 어트랙션 이름 맞추기</li>
  159. <li><span class="circle">발 표</span>2025.06.13 / 개별 DM 안내</li>
  160. <li><span class="circle">경 품</span>스파이용권 (1매) / 20명</li>
  161. </ul>
  162. <a href="#" class="evt--btn">이벤트 참여하기</a>
  163. <div class="bg1"><img src="" alt=""></div>
  164. <div class="bg2"><img src="" alt=""></div>
  165. <div class="bg3"><img src="" alt=""></div>
  166. <div class="bg4"><img src="" alt=""></div>
  167. <div class="bob--wrap01">
  168. <div class="bob01"></div>
  169. </div>
  170. <div class="bob--wrap02">
  171. <div class="bob02"></div>
  172. </div>
  173. <div class="bob--wrap03">
  174. <div class="bob03"></div>
  175. </div>
  176. <div class="bob--wrap04">
  177. <div class="bob04"></div>
  178. </div>
  179. <div class="bob--wrap05">
  180. <div class="bob05"></div>
  181. </div>
  182. <div class="bob--wrap06">
  183. <div class="bob06"></div>
  184. </div>
  185. <div class="bob--wrap07">
  186. <div class="bob07"></div>
  187. </div>
  188. <div class="bob--wrap08">
  189. <div class="bob08"></div>
  190. </div>
  191. <div class="bob--wrap09">
  192. <div class="bob09"></div>
  193. </div>
  194. <div class="tok01"></div>
  195. <div class="tok02"></div>
  196. <div class="tok03"></div>
  197. <div class="tok04"></div>
  198. <div class="tok05"></div>
  199. </div>
  200. </div>
  201. </section>
  202. <section class="evt--section03">
  203. <div class="section--container">
  204. <div class="section--title">
  205. <h3><img src="assets/img/font_11.png" alt="6월 5일 단 한번의 기회!"></h3>
  206. <h2><img src="assets/img/font_7.png" alt="얼리버드 프로모션"></h2>
  207. <div class="circle"><img src="assets/img/font_12.png" alt=""></div>
  208. </div>
  209. <div class="promotion--wrap">
  210. <div class="promotion">
  211. <h4>혜택 01</h4>
  212. <p>입장권</p>
  213. <h5>50<span>%</span><br>할인</h5>
  214. </div>
  215. <div class="promotion">
  216. <h4>혜택 01</h4>
  217. <p>1시간</p>
  218. <h5>사전<br>입장</h5>
  219. </div>
  220. </div>
  221. <div class="promotion--detail--wrap">
  222. <div class="detail">
  223. <div class="detail--l">
  224. <span>혜택 01</span>
  225. <h5>새로워진 스플라스 워터파크,<br>
  226. <span>반값으로</span> 즐겨요!</h5>
  227. <ul>
  228. <li>사용 기간 : 2025.7.1(화) ~ 8.31(일)</li>
  229. <li>구매 수량 : 1인 최대 2매</li>
  230. </ul>
  231. </div>
  232. <div class="detail--r">
  233. <span>한정<br>수량</span>
  234. <p>성인 · 소인 통합권</p>
  235. <div class="before--price">70,000원</div>
  236. <div class="after--price">35,000원</div>
  237. </div>
  238. </div>
  239. <div class="detail">
  240. <div class="detail--l">
  241. <span>혜택 02</span>
  242. <h5><span>1시간 먼저 입장</span>해 여유롭게!<br>
  243. 오픈 런 하지마세요.</h5>
  244. <ul>
  245. <li>사전 입장 가능 시간 : 오전 8:00 ~ 8:59</li>
  246. <li>얼리버드 티켓 사용 당일 한정</li>
  247. </ul>
  248. </div>
  249. <div class="detail--r">
  250. <span>사전<br>입장</span>
  251. <p>정규 오픈 시간</p>
  252. <div class="before--price">오전 9:00</div>
  253. <div class="after--price">오전 8:00</div>
  254. </div>
  255. </div>
  256. <ul class="detail--plus">
  257. <li>
  258. 사전 입장 시간이 지나면 혜택이 자동 소멸됩니다. (9:00부터 일반 줄 대기)
  259. </li>
  260. <li>
  261. 평소 혼잡도가 높은 인기 <strong>어트랙션 3종</strong>에 한해 이용 가능합니다.<br>
  262. - 토네이도 블라스터, 갤럭시 블라스터, 하이드로 스핀
  263. </li>
  264. </ul>
  265. </div>
  266. <div class="count--wrap">
  267. <div class="count--txt">
  268. <p>6월 5일 (목)</p>
  269. <div class="img--wrap">
  270. <div class="wch--l"></div>
  271. <img src="assets/img/img_15.png" alt="시계">
  272. <div class="wch--r"></div>
  273. </div>
  274. <p>10시에 만나요 !</p>
  275. </div>
  276. <div class="count--num">
  277. <span class="number" data-number="0">
  278. <span class="primary">
  279. </span>
  280. <span class="secondary">
  281. </span>
  282. </span>
  283. <span class="number" data-number="0">
  284. <span class="primary">
  285. </span>
  286. <span class="secondary">
  287. </span>
  288. </span>
  289. <span class="number" data-number="0">
  290. <span class="primary">
  291. </span>
  292. <span class="secondary">
  293. </span>
  294. </span>
  295. <span class="number" data-number="0">
  296. <span class="primary">
  297. </span>
  298. <span class="secondary">
  299. </span>
  300. </span>
  301. <span class="number" data-number="0">
  302. <span class="primary">
  303. </span>
  304. <span class="secondary">
  305. </span>
  306. </span>
  307. <span class="number" data-number="0">
  308. <span class="primary">
  309. </span>
  310. <span class="secondary">
  311. </span>
  312. </span>
  313. <span class="number" data-number="0">
  314. <span class="primary">
  315. </span>
  316. <span class="secondary">
  317. </span>
  318. </span>
  319. <div class="bbl--eft03"></div>
  320. <div class="bbl--eft02"></div>
  321. <div class="bbl--eft01"></div>
  322. <div class="bbl--eft06"></div>
  323. <div class="bbl--eft05"></div>
  324. <div class="bbl--eft04"></div>
  325. </div>
  326. <a href="#" class="evt--btn">얼리버드 티켓 구매</a>
  327. </div>
  328. </div>
  329. </section>
  330. <script>
  331. const video = document.getElementById('tsVideo');
  332. const wrapper = document.querySelector('.video--wrap');
  333. const playBtn = document.querySelector('.video--btn');
  334. const observer = new IntersectionObserver(
  335. (entries) => {
  336. entries.forEach(entry => {
  337. if (entry.isIntersecting) {
  338. video.play();
  339. } else {
  340. video.pause();
  341. }
  342. });
  343. },
  344. {
  345. threshold: 0.5 // 50% 이상 보여야 재생
  346. }
  347. );
  348. observer.observe(wrapper);
  349. // 버튼 클릭 시 재생 + 클래스 제거
  350. playBtn.addEventListener('click', () => {
  351. if (video.paused) {
  352. video.play();
  353. } else {
  354. video.pause();
  355. }
  356. });
  357. video.addEventListener('play', () => {
  358. playBtn.classList.remove('play');
  359. });
  360. // 비디오 일시 정지되면 클래스 추가
  361. video.addEventListener('pause', () => {
  362. playBtn.classList.add('play');
  363. });
  364. var swiper = new Swiper(".swiper1", {
  365. pagination: {
  366. el: ".swiper-pagination",
  367. clickable: true,
  368. },
  369. navigation: {
  370. nextEl: ".swiper-button-next",
  371. prevEl: ".swiper-button-prev",
  372. },
  373. });
  374. const tabButtons = document.querySelectorAll('.tab--btn');
  375. tabButtons.forEach(btn => {
  376. btn.addEventListener('click', () => {
  377. const index = parseInt(btn.dataset.index);
  378. swiper.slideTo(index);
  379. });
  380. });
  381. swiper.on('slideChange', () => {
  382. tabButtons.forEach(btn => btn.classList.remove('active'));
  383. tabButtons[swiper.activeIndex].classList.add('active');
  384. });
  385. function updateCountdown() {
  386. var now = new Date();
  387. var target = new Date(now.getFullYear(), 5, 5, 10, 0, 0);
  388. var diff = target - now;
  389. if (diff < 0) diff = 0;
  390. var seconds = Math.floor(diff / 1000) % 60;
  391. var minutes = Math.floor(diff / (1000 * 60)) % 60;
  392. var hours = Math.floor(diff / (1000 * 60 * 60));
  393. // 시 3자리 분리
  394. var hoursHundreds = Math.floor(hours / 100);
  395. var hoursTens = Math.floor((hours % 100) / 10);
  396. var hoursOnes = hours % 10;
  397. var minutesTens = Math.floor(minutes / 10);
  398. var minutesOnes = minutes % 10;
  399. var secondsTens = Math.floor(seconds / 10);
  400. var secondsOnes = seconds % 10;
  401. // 인덱스 0부터 6까지 차례대로
  402. doFlip(6, 0, secondsOnes);
  403. doFlip(5, 0, secondsTens);
  404. doFlip(4, 0, minutesOnes);
  405. doFlip(3, 0, minutesTens);
  406. doFlip(2, 0, hoursOnes);
  407. doFlip(1, 0, hoursTens);
  408. doFlip(0, 0, hoursHundreds);
  409. }
  410. // 1초마다 업데이트
  411. setInterval(updateCountdown, 1000);
  412. updateCountdown();
  413. //real--count
  414. setInterval(function() {
  415. doFlip(6, 1);
  416. }, 1000);
  417. function doFlip(numberIndex, count, startNumber) {
  418. if (count === undefined) {
  419. count = 1;
  420. }
  421. var currentNumberElement = $(".number:eq(" + numberIndex + ")");
  422. // 현재 저장된 숫자
  423. var oldNumber = Number(currentNumberElement.attr("data-number"));
  424. // startNumber가 있으면 그걸 쓰고, 없으면 data-number에서 읽음
  425. var currentNumber = startNumber !== undefined ? startNumber : oldNumber;
  426. // 숫자가 같으면 애니메이션 없이 그냥 리턴
  427. if (currentNumber === oldNumber) {
  428. return;
  429. }
  430. currentNumber -= count;
  431. var makeAFlip = false;
  432. if (currentNumber < 0) {
  433. currentNumber = 10 + currentNumber;
  434. makeAFlip = true;
  435. }
  436. currentNumberElement.find(".primary").attr("title", currentNumber);
  437. currentNumberElement.find(".secondary").attr("title", currentNumber);
  438. if (makeAFlip) {
  439. if (numberIndex > 0) {
  440. doFlip(--numberIndex);
  441. }
  442. }
  443. currentNumberElement.addClass("flip");
  444. setTimeout(function() {
  445. currentNumberElement.attr("data-number", currentNumber);
  446. currentNumberElement.removeClass("flip");
  447. }, 500);
  448. }
  449. </script>
  450. </body>
  451. </html>