【问题标题】:Make multiple images in full screen with a single function使用单一功能全屏制作多张图片
【发布时间】:2019-05-23 20:28:39
【问题描述】:

我在 Stack Overflow 上的一个问题中发现了一个全屏制作图像的代码。但该代码仅适用于一个图像。

<!doctype html>
<html>
  <head>
     <style>
      .fullscreen:-webkit-full-screen {
      width: auto !important;
      height: auto !important;
      margin:auto !important;
  }
     .fullscreen:-moz-full-screen {
      width: auto !important;
      height: auto !important;
      margin:auto !important;
  }
     .fullscreen:-ms-fullscreen {
      width: auto !important;
      height: auto !important;
      margin:auto !important;
  }     
     </style>
     <script>
        function makeFullScreen() {
         var divObj = document.getElementById("theImage");
       //Use the specification method before using prefixed versions
      if (divObj.requestFullscreen) {
        divObj.requestFullscreen();
      }
      else if (divObj.msRequestFullscreen) {
        divObj.msRequestFullscreen();               
      }
      else if (divObj.mozRequestFullScreen) {
        divObj.mozRequestFullScreen();      
      }
      else if (divObj.webkitRequestFullscreen) {
        divObj.webkitRequestFullscreen();       
      } else {
        console.log("Fullscreen API is not supported");
      } 

    }
     </script>

  </head>
  <body>
    Hello Image...</br>

    <img id="theImage" style="width:400px; height:auto;"  class="fullscreen" src="pic1.jpg" onClick="makeFullScreen()"></img>

  </body>
</html>

能否将此函数转换为处理多张图像(而不是为每张图像创建一个函数)。

【问题讨论】:

    标签: javascript html css fullscreen


    【解决方案1】:

    只需将 onClick 处理程序添加到多个图像元素并将 event 参数分配给每个函数调用即可完成。

    <img src="picA.jpg" onClick="makeFullScreen(event)">
    <img src="picB.jpg" onClick="makeFullScreen(event)">
    <img src="picC.jpg" onClick="makeFullScreen(event)">
    

    ma​​kefullScreen 回调函数中,您可以获取触发点击事件的元素(即您的图像),并使用您现有的代码使其全屏显示。

    function makeFullScreen(e) {
      var divObj = e.currentTarget;
      //Use the specification method before using prefixed versions
      if (divObj.requestFullscreen) {
        divObj.requestFullscreen();
      } else if (divObj.msRequestFullscreen) {
        divObj.msRequestFullscreen();
      } else if (divObj.mozRequestFullScreen) {
        divObj.mozRequestFullScreen();
      } else if (divObj.webkitRequestFullscreen) {
        divObj.webkitRequestFullscreen();
      } else {
        console.log("Fullscreen API is not supported");
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2016-09-07
      • 1970-01-01
      • 2014-02-01
      • 2017-03-21
      • 1970-01-01
      相关资源
      最近更新 更多