video.html 19 KB

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