首页 > 解决方案 > 更改图像/svg 以在网页上正确显示横向或纵向

问题描述

当我将窗口大小从横向更改为纵向时,页面无法正确刷新

如何更改页面的代码以显示正确大小的横向或纵向 svg

Landscape.svg 与 Portrait.svg 略有不同

请帮忙

    <script>
    if(window.innerHeight > window.innerWidth)
    {

        // Portrait
        //alert ("Resized..P");
        document.write( '<object id=\"svg-objectp\" data=\"car1-portrait.svg\" type=\"image/svg+xml\"></object>' );
        document.getElementById("svg-objectp").style.width = "100%"; 
        document.getElementById("svg-objectp").style.height = "auto"; 

        }else{

        // Landscape
        //alert ("Resized..L");
        document.write( '<object id=\"svg-objectl\" data=\"car1-landscape.svg\" type=\"image/svg+xml\"></object>' );
        document.getElementById("svg-objectl").style.width = "100%"; 
        document.getElementById("svg-objectl").style.height = "auto"; 

    }
    </script>

    http://www.qurantour.com/car/index.html

标签: javascripthtmlcsssvg

解决方案


它不起作用,因为你的 javascript 代码只执行一次,你需要一个事件来使它工作:

    <script>
    window.onresize = function() {
      if(window.innerHeight > window.innerWidth)
      {

      // Portrait
      //alert ("Resized..P");
      document.write( '<object id=\"svg-objectp\" data=\"car1-portrait.svg\" 
      type=\"image/svg+xml\"></object>' );
      document.getElementById("svg-objectp").style.width = "100%"; 
      document.getElementById("svg-objectp").style.height = "auto"; 

      }else{

      // Landscape
      //alert ("Resized..L");
      document.write( '<object id=\"svg-objectl\" data=\"car1-landscape.svg\" 
      type=\"image/svg+xml\"></object>' );
      document.getElementById("svg-objectl").style.width = "100%"; 
      document.getElementById("svg-objectl").style.height = "auto"; 

    }
  }
  </script

推荐阅读