header.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <header>
  2. <div class="header-menu">
  3. <div class="logo" th:onclick="movePath('/')">
  4. <div>
  5. <img src="/images/logo/logo.png" alt="포항시 로고">
  6. </div>
  7. <p>포항시교통정보센터</p>
  8. </div>
  9. <div class="top-menu">
  10. <div class="top-menu-cont" th:classappend="${selected == 'traffic'} ? ' on' : ''">
  11. <div></div>
  12. <a th:href="@{/trafficMap/cctvMap}">교통정보</a>
  13. </div>
  14. <div class="top-menu-cont" th:classappend="${selected == 'statistics'} ? ' on' : ''">
  15. <div></div>
  16. <a th:href="@{/statistics/traffic01}">교통통계</a>
  17. </div>
  18. <div class="top-menu-cont">
  19. <div></div>
  20. <a href="javascript:openBusSite(0)">버스정보</a>
  21. <img src="/images/icon/direction.png" alt="새 창 열기">
  22. </div>
  23. <span tabindex="0" id="menu" onclick="menuOpen()">
  24. <img src="/images/icon/menu.png" alt="menu">
  25. </span>
  26. <div id="menu-modal">
  27. <div class="modal-close-box">
  28. <div class="modal-close" onclick="closeModal('header #menu-modal')"></div>
  29. </div>
  30. <div class="modal-container">
  31. <div>
  32. <img class="modal-icon" src="/images/icon/menu_icon1.png" alt="교통정보 아이콘">
  33. <div class="modal-icon-title">
  34. <h4>교통정보</h4>
  35. </div>
  36. <div class="sub-number">
  37. <h1>01</h1>
  38. </div>
  39. <p th:onclick="movePath('/trafficMap/cctvMap')">교통CCTV</p>
  40. <p th:onclick="movePath('/trafficMap/intersections')">스마트교차로</p>
  41. <p th:onclick="movePath('/trafficMap/vms')">도로전광판</p>
  42. <p th:onclick="movePath('/trafficMap/incidents')">돌발정보</p>
  43. <p th:onclick="movePath('/trafficMap/realtimetraffic')">소통정보</p>
  44. </div>
  45. <div>
  46. <img class="modal-icon" src="/images/icon/menu_icon2.png" alt="교통통계 아이콘">
  47. <div class="modal-icon-title">
  48. <h4>교통통계</h4>
  49. </div>
  50. <div class="sub-number">
  51. <h1>02</h1>
  52. </div>
  53. <p th:onclick="movePath('/statistics/traffic01')">교통량통계</p>
  54. <p th:onclick="movePath('/statistics/traffic02')">소통통계</p>
  55. <p th:onclick="movePath('/statistics/congestion')">정체통계</p>
  56. </div>
  57. <div>
  58. <img class="modal-icon" src="/images/icon/menu_icon3.png" alt="버스정보 아이콘">
  59. <div class="modal-icon-title">
  60. <h4>버스정보</h4>
  61. </div>
  62. <div class="sub-number">
  63. <h1>03</h1>
  64. </div>
  65. <p onclick="openBusSite(0)">
  66. 노선
  67. <img class="modal-direction" src="/images/icon/direction.png" alt="외부사이트 이미지">
  68. </p>
  69. <p onclick="openBusSite(1)">
  70. 정류소
  71. <img class="modal-direction" src="/images/icon/direction.png" alt="외부사이트 이미지">
  72. </p>
  73. <p onclick="openBusSite(2)">
  74. 요금
  75. <img class="modal-direction" src="/images/icon/direction.png" alt="외부사이트 이미지">
  76. </p>
  77. </div>
  78. <div>
  79. <img class="modal-icon" src="/images/icon/menu_icon4.png" alt="">
  80. <div class="modal-icon-title">
  81. <h4>공지사항</h4>
  82. </div>
  83. <div class="sub-number">
  84. <h1>04</h1>
  85. </div>
  86. <p onclick="movePath('/notice/notice')">
  87. 공지사항
  88. </p>
  89. </div>
  90. <div>
  91. <img class="modal-icon" src="/images/icon/menu_icon5.png" alt="">
  92. <div class="modal-icon-title">
  93. <h4>교통정보센터</h4>
  94. </div>
  95. <div class="sub-number">
  96. <h1>05</h1>
  97. </div>
  98. <p onclick="movePath('/center/center')">
  99. 센터소개
  100. </p>
  101. <p onclick="movePath('/center/way')">
  102. 오시는길
  103. </p>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <th:block th:if="${selected == 'statistics'}" th:include="/include/statistics-menu"></th:block>
  110. <th:block th:if="${selected == 'center'}" th:include="/include/center-menu"></th:block>
  111. </header>
  112. <script th:inline="javascript">
  113. function menuOpen() {
  114. let isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
  115. let display = 'flex';
  116. if (isMobile) {
  117. if ($(window).width() <= 450) {
  118. display = 'block';
  119. }
  120. }
  121. $('header #menu-modal').css('display', display);
  122. }
  123. window.addEventListener(`resize`, function () {
  124. const display = $('header #menu-modal').css('display');
  125. if (display === 'flex' || display === 'block') {
  126. if ($(window).width() <= 450) {
  127. $('header #menu-modal').css('display', 'block');
  128. } else {
  129. $('header #menu-modal').css('display', 'flex');
  130. }
  131. }
  132. });
  133. function closeModal(target) {
  134. $(target).css('display', 'none');
  135. }
  136. function openBusSite(ord) {
  137. const urlArr = [
  138. 'https://www.pohang.go.kr/bis/busRoute.do',
  139. 'https://www.pohang.go.kr/bis/busStation.do',
  140. 'https://www.pohang.go.kr/dept/contents.do?mid=0505020100',
  141. ];
  142. window.open(urlArr[ord], '_blank', "noopener noreferrer")
  143. }
  144. function movePath(uri) {
  145. window.location.href = uri;
  146. }
  147. function openModal(target) {
  148. $(target).css('display', 'flex');
  149. $(target + " .content").scrollTop(0);
  150. }
  151. </script>