video.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Ai_Anchor_Video</title>
  8. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet"
  9. integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
  10. <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
  11. integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
  12. <link rel="stylesheet" href="./style.css">
  13. </head>
  14. <body id="top">
  15. <section style="position: relative;">
  16. <img style="position: absolute; left:15vw; top:8.5vw;z-index: 10;" width="150" src="./img/line_2.png" alt="">
  17. <div class="video-sec01 card border-0">
  18. <!-- <img src="./img/T1.png" class="card-img img-fluid" alt="..."> -->
  19. <div class="row px-0 mx-0">
  20. <div class="col-lg-2 px-0">
  21. <div class="card border-0">
  22. <img style="width:14vw;" src="./img/about/home_六角.png" alt="...">
  23. <div class="card-img-overlay d-flex justify-content-center align-items-center">
  24. <div>
  25. <a href="./index.html">
  26. <img class="home-btn"
  27. style="width: 70px; position: relative; right:1.5vw; bottom:20px;"
  28. src="./img/about/home_黑.png" alt="">
  29. </a>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="col-lg-9 px-0">
  35. <div class="card border-0">
  36. <img style="position: relative; right:20px;" class="img-fluid" src="./img/about/Bar.png" alt="">
  37. <div class="card-img-overlay">
  38. <div class="mt-3 me-2">
  39. <h1 style="font-size:3rem;" class="fw-bold mb-0 text-white" set-lan="html:index-videos">影片導覽</h1>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="col-lg-1 px-0">
  45. <!-- <nav style="margin-top: 40px;" class="navbar"> -->
  46. <div style="margin-top: 40px;">
  47. <ul style="float: left;" class="navbar-nav mb-2 mb-lg-0 me-3">
  48. <li class="nav-item dropdown">
  49. <a class="nav-link dropdown-toggle" style="font-size: 18px;" href="#"
  50. id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  51. 中/En
  52. </a>
  53. <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  54. <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:en"
  55. onclick="changeLan(this);window.location.reload();"
  56. value="en">English</button>
  57. </li>
  58. <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh"
  59. onclick="changeLan(this);window.location.reload();" value="zh">中文</button>
  60. </li>
  61. </ul>
  62. </li>
  63. </ul>
  64. <div style="float: left;" class="me-auto mt-2">
  65. <a id="expand" onclick="openFullscreen();" style="cursor: pointer;" class="border-0"><i
  66. style="font-size: 18px;" class="fas fa-expand text-dark"></i></a>
  67. <a id="compression" onclick="closeFullscreen();" style="cursor: pointer;"
  68. class="border-0"><i class="fas fa-compress text-dark"></i></a>
  69. </div>
  70. </div>
  71. <!-- </nav> -->
  72. </div>
  73. </div>
  74. <div class="video-int" style="margin-left: 23vw; margin-top: -3.5vw;">
  75. <button type="button" data-gt-target="#VTuber-video" data-gt-duration="800" data-gt-offset="0"
  76. class="video-btn" set-lan="html:application">實際應用</button>
  77. <button type="button" data-gt-target="#dailypaper-video" data-gt-duration="800" data-gt-offset="0"
  78. class="video-btn" set-lan="html:local_news">地方日報</button>
  79. <button type="button" data-gt-target="#metaverse-video" data-gt-duration="800" data-gt-offset="0"
  80. class="video-btn" set-lan="html:metaverse">元宇宙</button>
  81. <button type="button" data-gt-target="#NFT-video" data-gt-duration="800" data-gt-offset="0"
  82. class="video-btn">NFT</button>
  83. <button type="button" data-gt-target="#5G-video" data-gt-duration="800" data-gt-offset="0"
  84. class="video-btn" set-lan="html:5G_network">5G網路</button>
  85. </div>
  86. </div>
  87. </div>
  88. <i style="font-size: 48px; position: fixed; bottom:50px; right:50px; color:#193179; cursor: pointer;"
  89. data-gt-target="#top" data-gt-duration="500" class="gotop fas fa-chevron-circle-up"></i>
  90. </section>
  91. <div style="margin-top: 100px;">
  92. <div style="margin-bottom: 100px;">
  93. <!-- 實際應用 -->
  94. <section class="sec-video" style="width: 75vw; margin: 0 auto" id='VTuber-video'>
  95. <!-- <h1 class="p-2">實際應用</h1> -->
  96. <div class="row row-cols-lg-3 px-0 mx-0">
  97. <div class="col">
  98. <img class="video-img img-fluid"
  99. data-info="AAA8pkLcfY8" data-bs-toggle="modal"
  100. data-bs-target="#exampleModal" src="./img/video/封面_AI Spokesgirl.webp" alt="">
  101. </div>
  102. <div class="col">
  103. <img class="video-img img-fluid"
  104. data-info="83uE8kVIWsM" data-bs-toggle="modal"
  105. data-bs-target="#exampleModal" src="./img/video/封面_氣象.webp" alt="">
  106. </div>
  107. <div class="col">
  108. <img class="video-img img-fluid"
  109. data-info="y0dgW_dcgDE" data-bs-toggle="modal"
  110. data-bs-target="#exampleModal" src="./img/video/封面_翠玉.webp" alt="">
  111. </div>
  112. </div>
  113. </section>
  114. <h1 style="font-size: 32px;background:#D4DAEC; color:#193179; margin-top: -100px;" class="py-5 fw-bold ps-3" set-lan="html:application">實際應用</h1>
  115. </div>
  116. <div style="margin-bottom: 100px;">
  117. <!-- dailypaper -->
  118. <section class="sec-video" style="width: 75vw; margin: 0 auto" id='dailypaper-video'>
  119. <!-- <h1 class="p-2" set-lan="html:local_news">地方日報</h1> -->
  120. <div class="row row-cols-lg-3 px-0 mx-0">
  121. <div class="col">
  122. <img class="video-img img-fluid"
  123. data-info="EuI2Lh2FWDo" data-bs-toggle="modal"
  124. data-bs-target="#exampleModal" src="./img/video/0923(1)_YT封面_地方.webp" alt="">
  125. </div>
  126. <div class="col">
  127. <img class="video-img img-fluid"
  128. data-info="YQx_3O8W7hM" data-bs-toggle="modal"
  129. data-bs-target="#exampleModal" src="./img/video/0917(03)_YT封面_地方.webp" alt="">
  130. </div>
  131. <div class="col">
  132. <img class="video-img img-fluid"
  133. data-info="kzQKfJyQHc0" data-bs-toggle="modal"
  134. data-bs-target="#exampleModal" src="./img/video/0924(02)_YT封面_地方.webp" alt="">
  135. </div>
  136. </div>
  137. </section>
  138. <h1 style="font-size: 32px;background:#D4DAEC; color:#193179; margin-top: -100px;" class="py-5 fw-bold ps-3" set-lan="html:local_news">地方日報</h1>
  139. </div>
  140. <div style="margin-bottom: 100px;">
  141. <!-- metaverse -->
  142. <section class="sec-video" style="width: 75vw; margin:auto" id='metaverse-video'>
  143. <!-- <h1 class="p-2" set-lan="html:metaverse">元宇宙</h1> -->
  144. <div class="row row-cols-lg-3 px-0 mx-0">
  145. <div class="col">
  146. <img class="video-img img-fluid"
  147. data-info="hoSKF4X5OgU" data-bs-toggle="modal"
  148. data-bs-target="#exampleModal" src="./img/video/0923_IG封面_NFT.webp" alt="">
  149. </div>
  150. <div class="col">
  151. <img class="video-img img-fluid"
  152. data-info="QQBzJwHjMlk" data-bs-toggle="modal"
  153. data-bs-target="#exampleModal" src="./img/video/0927_YT封面_NFT.webp" alt="">
  154. </div>
  155. <div class="col">
  156. <img class="video-img img-fluid"
  157. data-info="LsS2SXQ1wrs" data-bs-toggle="modal"
  158. data-bs-target="#exampleModal" src="./img/video/1001_YT封面_NFT.webp" alt="">
  159. </div>
  160. </div>
  161. </section>
  162. <h1 style="font-size: 32px;background:#D4DAEC; color:#193179; margin-top: -100px;" class="py-5 fw-bold ps-3" set-lan="html:metaverse">元宇宙</h1>
  163. </div>
  164. <div style="margin-bottom: 100px;">
  165. <!-- NFT -->
  166. <section class="sec-video" style="width: 75vw; margin: 0 auto" id='NFT-video'>
  167. <!-- <h1 class="p-2">NFT</h1> -->
  168. <div class="row row-cols-lg-3 px-0 mx-0">
  169. <div class="col">
  170. <img class="video-img img-fluid"
  171. data-info="LKOLD4ssEIA" data-bs-toggle="modal"
  172. data-bs-target="#exampleModal" src="./img/video/0818_YT封面_NFT.webp" alt="">
  173. </div>
  174. <div class="col">
  175. <img class="video-img img-fluid"
  176. data-info="QVYsivxltkg" data-bs-toggle="modal"
  177. data-bs-target="#exampleModal" src="./img/video/0819_YT封面_NFT.webp" alt="">
  178. </div>
  179. <div class="col">
  180. <img class="video-img img-fluid"
  181. data-info="-udbHXGkqJM" data-bs-toggle="modal"
  182. data-bs-target="#exampleModal" src="./img/video/0907_YT封面_NFT.webp" alt="">
  183. </div>
  184. </div>
  185. </section>
  186. <h1 style="font-size: 32px;background:#D4DAEC; color:#193179; margin-top: -100px;" class="py-5 fw-bold ps-3">NFT</h1>
  187. </div>
  188. <div style="margin-bottom: 100px;">
  189. <!-- 5G -->
  190. <section class="sec-video" style="width: 75vw; margin: 0 auto" id='5G-video'>
  191. <!-- <h1 class="p-2" set-lan="html:5G_network">5G網路</h1> -->
  192. <div class="row row-cols-lg-3 px-0 mx-0">
  193. <div class="col">
  194. <img class="video-img img-fluid"
  195. data-info="iZxOOUPWL-Q"
  196. data-bs-toggle="modal" data-bs-target="#exampleModal" src="./img/video/1007_YT封面_NFT.webp" alt="">
  197. </div>
  198. <div class="col">
  199. <img class="video-img img-fluid"
  200. data-info="NWyxxTfBAmA" data-bs-toggle="modal"
  201. data-bs-target="#exampleModal" src="./img/video/1005_YT封面_NFT.webp" alt="">
  202. </div>
  203. <div class="col">
  204. <img class="video-img img-fluid"
  205. data-info="C0EHKQX-B4M" data-bs-toggle="modal"
  206. data-bs-target="#exampleModal" src="./img/video/1006_YT封面_NFT.webp" alt="">
  207. </div>
  208. </div>
  209. </section>
  210. <h1 style="font-size: 32px;background:#D4DAEC; color:#193179; margin-top: -100px;" class="py-5 fw-bold ps-3" set-lan="html:5G_network">5G網路</h1>
  211. </div>
  212. <div class="closeplay modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel1"
  213. aria-hidden="true">
  214. <div class="modal-dialog modal-fullscreen">
  215. <div class="modal-content bg-transparent border-0">
  216. <div class="modal-header border-0 pb-0">
  217. <h5 class="modal-title" id="exampleModalLabel"></h5>
  218. <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"
  219. aria-label="Close"><img src="./img/close.svg" alt=""></button>
  220. </div>
  221. <div id="video-modal" class="modal-body">
  222. <style>
  223. .embed-container {
  224. position: relative;
  225. padding-bottom: 56.25%;
  226. height: 0;
  227. overflow: hidden;
  228. max-width: 100%;
  229. }
  230. .embed-container iframe,
  231. .embed-container object,
  232. .embed-container embed {
  233. position: absolute;
  234. top: 0;
  235. left: 0;
  236. width: 100%;
  237. height: 100%;
  238. }
  239. </style>
  240. <div class='embed-container'><iframe class='youtube-video' src='https://www.youtube.com/embed//XfTQ2uIWWbA'
  241. frameborder='0' allowfullscreen height="394" allow="autoplay;"></iframe></div>
  242. </div>
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"
  248. integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p"
  249. crossorigin="anonymous"></script>
  250. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js"
  251. integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT"
  252. crossorigin="anonymous"></script>
  253. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  254. <script src="js/lan.js"></script>
  255. <script src="./gotovideo.js"></script>
  256. <script>
  257. $("*").each(function (index, element) {
  258. // 此元素被點選後執行
  259. $(this).click(function (e) {
  260. // 取得被點選元素的屬性:data-gt-target
  261. var target = $(this).attr("data-gt-target");
  262. var duration = $(this).attr("data-gt-duration");
  263. var offset = $(this).attr("data-gt-offset");
  264. // JS 語法:判斷式
  265. // if (條件) {程式區塊}
  266. // 當條件成立,會執行程式區塊
  267. // 如果 目標有資料 才會執行 { } 內的程式
  268. // 避免出現 undefine (未定義 - 不存在的資料)
  269. if (target) {
  270. //console.log("目標:" + target);
  271. //console.log("時間:" + duration);
  272. //console.log("位移:" + offset);
  273. // 上方位置 = 目標區塊.位移().上方位置
  274. var top = $(target).offset().top;
  275. //console.log("要前往元素的上方位置:" + top);
  276. // 網頁元素.停止().動畫({ 上方捲動:指定元素 - 位移},持續時間)
  277. // parseInt() 將文字轉為數字
  278. $("html").stop().animate({
  279. scrollTop: top - offset
  280. }, parseInt(duration));
  281. }
  282. });
  283. });
  284. var expandbtn = document.getElementById("expand");
  285. var compressionbtn = document.getElementById("compression");
  286. // Using JavaScript to open the page in fullscreen mode
  287. var elem = document.documentElement;
  288. function openFullscreen() {
  289. if (elem.requestFullscreen) {
  290. elem.requestFullscreen();
  291. compressionbtn.style.display = 'inline';
  292. } else if (elem.webkitRequestFullscreen) { /* Safari */
  293. elem.webkitRequestFullscreen();
  294. } else if (elem.msRequestFullscreen) { /* IE11 */
  295. elem.msRequestFullscreen();
  296. }
  297. }
  298. function closeFullscreen() {
  299. if (document.exitFullscreen) {
  300. document.exitFullscreen();
  301. compressionbtn.style.display = 'none';
  302. } else if (document.webkitExitFullscreen) { /* Safari */
  303. document.webkitExitFullscreen();
  304. } else if (document.msExitFullscreen) { /* IE11 */
  305. document.msExitFullscreen();
  306. }
  307. }
  308. // 避免動畫與使用者滾輪衝突
  309. // html 在滾動滾輪時 停止 html 所有效果
  310. $("html").on("mousewheel", function () {
  311. $("html").stop();
  312. });
  313. // $(".video-img").click(function () {
  314. // var videosrc = $(this).data("info");
  315. // console.log(videosrc);
  316. // videoSRCauto = videosrc + "?autoplay=1";
  317. // let VideoContent = `
  318. // <style>
  319. // .embed-container {
  320. // position: relative;
  321. // padding-bottom: 56.25%;
  322. // height: 0;
  323. // overflow: hidden;
  324. // max-width: 100%;
  325. // }
  326. // .embed-container iframe,
  327. // .embed-container object,
  328. // .embed-container embed {
  329. // position: absolute;
  330. // top: 0;
  331. // left: 0;
  332. // width: 100%;
  333. // height: 100%;
  334. // }
  335. // </style>
  336. // <div class='embed-container'><iframe class='youtube-video' src='${videoSRCauto}'
  337. // frameborder='0' allowfullscreen></iframe></div>
  338. // `;
  339. // $('#video-modal').html(VideoContent);
  340. // });
  341. // $('.btn-close').click(function () {
  342. // $('.youtube-video').each(function () {
  343. // this.contentWindow.postMessage('{"event": "command", "func": "stopVideo", "args": ""}', '*');
  344. // });
  345. // });
  346. // $('.closeplay').click(function () {
  347. // $('.youtube-video').each(function () {
  348. // this.contentWindow.postMessage('{"event": "command", "func": "stopVideo", "args": ""}', '*');
  349. // });
  350. // });
  351. </script>
  352. </body>
  353. </html>