代码之家  ›  专栏  ›  技术社区  ›  Harper Creek

使用变量缩放图像

  •  2
  • Harper Creek  · 技术社区  · 7 年前

    我试着用变量来缩放一幅图像,而不是用一组石头来缩放。我知道使用“scale(0.5,0.5)”是可行的,但我想做一些类似“scale(x,y)”的事情,因此比例因子根据变量x和y的不同而变化,但是当我尝试这样做时,图像将不再像设置比例因子时那样缩放。我如何解决这个问题?谢谢你的帮助。这里有一个例子来说明我的意思。

    <!DOCTYPE html>
    <html>
    <body>
    
    <img id="myImg" src="img_pulpit.jpg">
    
    <button onclick="myFunction()">Try it</button>
    
    <script>
    var a = document.getElementById("myImg");
    var d = 5
    var e = 10
    var f = d/e
    var g = 10
    var h = 30
    var i = g/h
    
    function myFunction() {
    document.getElementById("myImg").style.WebkitTransform = "scale(f, i)";
    }
    
    </script>
    </body>
    </html>
    
    3 回复  |  直到 7 年前
        1
  •  2
  •   Sebastian Simon SamB    7 年前

    只需使用字符串连接( "scale(" + f + ", " + i + ")" )或字符串插值( `scale(${f}, ${i})` ).

        2
  •  1
  •   Andrea    7 年前
    function myFunction() {
        document.getElementById("myImg").style.WebkitTransform = "scale(" + f + "," + i + ")";
    }
    
        3
  •  1
  •   Lasitha Petthawadu    7 年前

    需要使用concat表示f和i的值

    document.getElementById("myImg").style.WebkitTransform = "scale("+f+","+i+")";
    

    <!DOCTYPE html>
    <html>
    <body>
    
    <img id="myImg" src="https://lh3.googleusercontent.com/gN6iBKP1b2GTXZZoCxhyXiYIAh8QJ_8xzlhEK6csyDadA4GdkEdIEy9Bc8s5jozt1g=w300">
    
    <button onclick="myFunction()">Try it</button>
    
    <script>
    var a = document.getElementById("myImg");
    var d = 5
    var e = 10
    var f = d/e
    var g = 10
    var h = 30
    var i = g/h
    
    function myFunction() {
    document.getElementById("myImg").style.WebkitTransform = "scale("+f+","+i+")";
    }
    
    </script>
    </body>
    </html>