list.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. {{ partial "headers.html" . }}
  5. </head>
  6. <body>
  7. <!-- <div class="header-template"></div> -->
  8. {{ partial "nav.html" . }}
  9. <section class="bhouseweb_loc_banner">
  10. <div class="card bg-transparent text-white border-0 rounded-0">
  11. <img src="/img/bn_portfolio2x.png" class="banner-img card-img" alt="..." />
  12. <div class="d-flex justify-content-end bt_container">
  13. <div class="bt_slogan text-center">
  14. <img src="/img/chevron-double-down (1).svg" alt="" />
  15. </div>
  16. </div>
  17. <img class="bt_slogan_portfolio" src="/img/bt_slogan_portfolio_h@2x.png" alt="" />
  18. </div>
  19. </section>
  20. <div class="bhouseweb_loc_content">
  21. <section class="bhouseweb_loc_sec01">
  22. <div class="bhouseweb_loc_box">
  23. <p class="fw-bold m-0">類型</p>
  24. <div class="bhouseweb_loc_type">
  25. <input style="opacity: 0;" class="type ms-1" type="radio" id="m_全部類型" name="m_type" value="全部類型" checked />
  26. <label for="m_全部類型" class="bhouseweb_item_type select">全部</label>
  27. <input style="opacity: 0;" class="type ms-1" type="radio" id="m_大樓" name="m_type" value="大樓" />
  28. <label id="building" for="m_大樓" class="bhouseweb_item_type">大樓</label>
  29. <input style="opacity: 0;" class="type ms-1" type="radio" id="m_透天" name="m_type" value="透天" />
  30. <label id="house" for="m_透天" class="bhouseweb_item_type">透天</label>
  31. </div>
  32. </div>
  33. <div class="bhouseweb_loc_box">
  34. <p class="fw-bold m-0">坪數</p>
  35. <div class="bhouseweb_loc_type">
  36. <input style="opacity: 0;" class="ping ms-1" type="radio" id="m_全部坪數" name="m_ping" value="全部坪數" checked />
  37. <label class="bhouseweb_item_type select" for="m_全部坪數">全部</label>
  38. <input style="opacity: 0;" class="ping ms-1" type="radio" id="m_20坪以下" name="m_ping" value="20坪以下" />
  39. <label class="bhouseweb_item_type" for="m_20坪以下">20坪以下</label>
  40. <input style="opacity: 0;" class="ping ms-1" type="radio" id="m_20-35坪" name="m_ping" value="20-35坪" />
  41. <label class="bhouseweb_item_type" for="m_20-35坪">20-35坪</label>
  42. <input style="opacity: 0;" class="ping ms-1" type="radio" id="m_36-50坪" name="m_ping" value="36-50坪" />
  43. <label class="bhouseweb_item_type" for="m_36-50坪">36-50坪</label>
  44. <input style="opacity: 0;" class="ping ms-1" type="radio" id="m_51坪以上" name="m_ping" value="51坪以上" />
  45. <label class="bhouseweb_item_type" for="m_51坪以上">51坪以上</label>
  46. <!-- <a class="bhouseweb_item_type select">全部</a>
  47. <a class="bhouseweb_item_type">20坪以下</a>
  48. <a class="bhouseweb_item_type">20-35坪</a>
  49. <a class="bhouseweb_item_type">36-50坪</a>
  50. <a class="bhouseweb_item_type">50坪以上</a>
  51. <a class="bhouseweb_item_type">50坪以上</a>
  52. <a class="bhouseweb_item_type">50坪以上</a>
  53. <a class="bhouseweb_item_type">50坪以上</a> -->
  54. </div>
  55. </div>
  56. <div class="bhouseweb_loc_box">
  57. <p class="fw-bold m-0">預算</p>
  58. <div class="bhouseweb_loc_type">
  59. <input style="opacity: 0;" class="budget ms-1" type="radio" id="m_全部預算" name="m_budget" value="全部預算"
  60. checked />
  61. <label class="bhouseweb_item_type select" for="m_全部預算">全部</label>
  62. <input style="opacity: 0;" class="budget ms-1" type="radio" id="m_59萬以下" name="m_budget" value="59萬以下" />
  63. <label class="bhouseweb_item_type" for="m_59萬以下">59萬以下</label>
  64. <input style="opacity: 0;" class="budget ms-1" type="radio" id="m_60-79萬" name="m_budget" value="60-79萬" />
  65. <label class="bhouseweb_item_type" for="m_60-79萬">60-79萬</label>
  66. <input style="opacity: 0;" class="budget ms-1" type="radio" id="m_80-99萬" name="m_budget" value="80-99萬" />
  67. <label class="bhouseweb_item_type" for="m_80-99萬">80-99萬</label>
  68. <input style="opacity: 0;" class="budget ms-1" type="radio" id="m_100萬以上" name="m_budget" value="100萬以上" />
  69. <label class="bhouseweb_item_type" for="m_100萬以上">100萬以上</label>
  70. <!-- <a class="bhouseweb_item_type">全部</a>
  71. <a class="bhouseweb_item_type">59萬以下</a>
  72. <a class="bhouseweb_item_type">60-79萬</a>
  73. <a class="bhouseweb_item_type">80-99萬</a>
  74. <a class="bhouseweb_item_type">100萬</a> -->
  75. </div>
  76. </div>
  77. <div class="bhouseweb_loc_box">
  78. <p class="fw-bold m-0">格局</p>
  79. <div class="bhouseweb_loc_type">
  80. <input style="opacity: 0;" class="rooms ms-1" type="radio" id="m_全部格局" name="m_rooms" value="全部格局" checked />
  81. <label class="bhouseweb_item_type select" for="m_全部格局">全部</label>
  82. <input style="opacity: 0;" class="rooms ms-1" type="radio" id="m_兩房" name="m_rooms" value="兩房" />
  83. <label class="bhouseweb_item_type" for="m_兩房">兩房</label>
  84. <input style="opacity: 0;" class="rooms ms-1" type="radio" id="m_三房" name="m_rooms" value="三房" />
  85. <label class="bhouseweb_item_type" for="m_三房">三房</label>
  86. <input style="opacity: 0;" class="rooms ms-1" type="radio" id="m_四房" name="m_rooms" value="四房" />
  87. <label class="bhouseweb_item_type" for="m_四房">四房</label>
  88. <input style="opacity: 0;" class="rooms ms-1" type="radio" id="m_四房以上" name="m_rooms" value="四房以上" />
  89. <label class="bhouseweb_item_type" for="m_四房以上">四房以上</label>
  90. <!-- <a class="bhouseweb_item_type">全部</a>
  91. <a class="bhouseweb_item_type">兩房</a>
  92. <a class="bhouseweb_item_type">三房</a>
  93. <a class="bhouseweb_item_type">四房</a>
  94. <a class="bhouseweb_item_type">四房以上</a> -->
  95. </div>
  96. </div>
  97. </section>
  98. <section class="p-1">
  99. <div class="bhouseweb_loc_search_box">
  100. <form class="bhouseweb_search_form d-flex">
  101. <div class="bhouseweb_search_img">
  102. <i class="fas fa-search"></i>
  103. </div>
  104. <input id="bhouseweb_search" class="me-md-2" type="search" placeholder="搜 尋「北 歐 風」「工 業 風」「三 代 同 堂」「寵 物」"
  105. aria-label="Search" />
  106. <!-- <button class="btn btn-outline-success" type="submit">Search</button> -->
  107. </form>
  108. </div>
  109. </section>
  110. </div>
  111. <hr class="bhouseweb_loc_line" />
  112. <div class="bhouseweb_loc_content" style="overflow-x: hidden">
  113. <div class="bhouseweb_loc_sec02">
  114. <div class="update_info row px-0 mx-0" id="articleList">
  115. {{ $paginator := .Paginate .Data.Pages }} {{ range $paginator.Pages }}
  116. <div class="col-12 col-sm-6 p-1">
  117. <div class="bhouseweb_loc_sec02_card secimg mx-0 px-0 border-0">
  118. <a href="{{ .RelPermalink }}">
  119. <img class="img-fluid" src="{{ .Params.Image | relURL }}" alt="" />
  120. <div class="slide_item_text">
  121. <p>{{ replace .Title "|小寶優居・成家故事" "" }}</p>
  122. </div>
  123. <div class="sec02-p-dec p-1 mt-1 text-center">
  124. <h5 class="card-title">
  125. {{ replace .Title "|小寶優居・成家故事" "" }}
  126. </h5>
  127. <p class="card-text">{{ .Description | safeHTML }}</p>
  128. </div>
  129. </a>
  130. </div>
  131. </div>
  132. {{ end }}
  133. </div>
  134. </div>
  135. </div>
  136. <p class="article__readMore text-center fw-bold my-3">
  137. 看更多案例
  138. <span style="font-size: 16px" class="fw-normal me-2"> &or;</span>
  139. </p>
  140. <!-- <div class="footer-template"></div> -->
  141. {{ partial "footer.html" . }}
  142. <!-- <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"
  143. integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p"
  144. crossorigin="anonymous"></script>
  145. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js"
  146. integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT"
  147. crossorigin="anonymous"></script>
  148. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  149. <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
  150. <script async defer src="./js/index.js"></script> -->
  151. {{ partial "scripts.html" . }}
  152. <script src="/js/cz_filter.js"></script>
  153. <script>
  154. window.onload = function () {
  155. document.getElementById('bhouseweb_search').value = '';
  156. // 取得 apiData
  157. let contentsData = [];
  158. // let category = localStorage.getItem('category');
  159. (function getContentsData() {
  160. // 線上版網址 http://192.53.174.202:9001/api/
  161. // 本地端網址 http://localhost:9001/api/
  162. fetch('http://localhost:9001/api/contents?url=/collection').then(res => res.json()).then(list => {
  163. contentsData = list;
  164. console.log('contentsData', contentsData);
  165. // filterCategory();
  166. })
  167. })();
  168. let matchContent = "";
  169. // 增加延遲(待輸入完成後再進行搜尋)
  170. function delay(fn, ms) {
  171. let timer = 0
  172. return function (...args) {
  173. clearTimeout(timer)
  174. timer = setTimeout(fn.bind(this, ...args), ms || 0)
  175. }
  176. }
  177. // 搜尋
  178. $('#bhouseweb_search').keyup(delay(function (e) {
  179. console.log(1)
  180. console.log('Time elapsed!', this.value);
  181. // 取得輸入框的值
  182. let inputVal = $('#bhouseweb_search').val();
  183. matchContent = "";
  184. let falseItem = [];
  185. contentsData.map((item, index) => {
  186. // 搜尋特定分類文章
  187. // if (item.categories) {
  188. // if (item.categories.includes(category)) {
  189. // 搜尋所有分類文章
  190. if (item.title.includes(inputVal) || item.description.includes(inputVal)) {
  191. matchContent += `
  192. <div class="col-12 col-sm-6 p-1"> \
  193. <div class="bhouseweb_loc_sec02_card secimg mx-0 px-0 border-0"> \
  194. <a href="${item.url}"> \
  195. <img \
  196. alt="${item.title}" \
  197. src="${item.image}" \
  198. layout="responsive"> \
  199. <div class="slide_item_text"> \
  200. <p>${item.title}</p>\
  201. </div> \
  202. <div class="sec02-p-dec p-1 mt-1 text-center">\
  203. <h5 class="card-title">${item.title}</h5>\
  204. <p>${item.description}</p>\
  205. </div>\
  206. </div> \
  207. </a> \
  208. </div> \
  209. </div>`;
  210. } else {
  211. falseItem.push(item);
  212. }
  213. if (falseItem.length === contentsData.length) {
  214. matchContent = `
  215. <div class="alert d-flex align-items-center" role="alert" style="max-width: 300px;margin: 0 auto 25px;justify-content: center;">
  216. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-exclamation-triangle-fill flex-shrink-0 me-2" style="color: #808e4c;" viewBox="0 0 16 16" role="img" aria-label="Warning:">
  217. <path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
  218. </svg>
  219. <div>
  220. 找不到符合條件的作品集
  221. </div>
  222. </div>
  223. `;
  224. }
  225. // }
  226. // }
  227. })
  228. document.getElementById("articleList").innerHTML = matchContent;
  229. }, 500));
  230. // 離開頁面前清除 localStorage
  231. $(window).bind('beforeunload', function () {
  232. return window.localStorage.removeItem('type');
  233. }
  234. );
  235. }
  236. </script>
  237. </body>
  238. </html>