דברים שרואים מכאן לא רואים בכלל
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

index.html 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>Eye of Beholder</title>
  7. <link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  8. <link rel="icon" href="/static/gfx/eye-horus.png">
  9. </head>
  10. <body data-bs-theme="dark">
  11. <div class="container-fluid text-center">
  12. <div class="row">
  13. <div class="col12">
  14. <video id="the-video" style="height:100vh; margin:0 auto" class="object-fit-contain" muted autoplay loop>
  15. <source src="/static/video/hossam-shabat-bg-effect.mp4"/>
  16. </video>
  17. </div>
  18. </div>
  19. <div class="row">
  20. <div class="col12">
  21. <div id="the-ticker" class="marquee alert alert-danger text-white h2 fw-bolder w100 opacity-50 text-nowrap" role="alert" style="direction:rtl; position:fixed; left:0; bottom:4rem; z-index:23">
  22. חוסל מחבל חמאס שעבד עם "אל-ג'זירה" • ברצועה מדווחים על הרוגים בתקיפות במחנה נוסיראת ובדרום חאן יונס • בין ההרוגים - כתב "פלשתין אל יום" וכתב "אל-ג'זירה" חוסאם שבאת • צה"ל חשף כי לפי מידע מודיעיני, חוסאם שבאת הוא מחבל בגדוד בית חאנון של ארגון הטרור חמאס • שחר קליימן, ישראל היום, 24/2/25
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. <script src="/static/js/jquery-3.7.1.min.js"></script>
  28. <script src="/static/js/jquery.marquee.min.js"></script>
  29. <script src="/static/bootstrap/js/bootstrap.bundle.min.js"></script>
  30. <script>
  31. $(()=> {
  32. $(".marquee").marquee({
  33. "direction": "right",
  34. "duplicated": true,
  35. "speed": 69
  36. });
  37. });
  38. async function getDistance() {
  39. try {
  40. let response = await fetch("/d");
  41. let data = await response.json();
  42. return data.distance;
  43. } catch {
  44. return 0;
  45. }
  46. };
  47. const MAX_DIST = 2000;
  48. const MIN_DIST = 300;
  49. const VID_BLUR_FACTOR = MAX_DIST/16.0; // float
  50. const TICKER_BLUR_FACTOR = MAX_DIST/32.0; // float
  51. async function updateDistance() {
  52. var dist = await getDistance();
  53. var vidblur = 0; tickerblur = 0;
  54. if (dist>MIN_DIST && dist<MAX_DIST) {
  55. vidblur = parseInt((MAX_DIST-dist)/VID_BLUR_FACTOR);
  56. tickerblur = parseInt(dist/TICKER_BLUR_FACTOR);
  57. }
  58. //console.log(`${vidblur}, ${tickerblur}`);
  59. document.getElementById("the-video").style.filter=`blur(${vidblur}px)`;
  60. document.getElementById("the-ticker").style.filter=`blur(${tickerblur}px)`;
  61. }
  62. window.update_interval = setInterval(updateDistance, 200);
  63. </script>
  64. </body>
  65. </html>