Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在jQuery中单击按钮更改图像大小_Php_Jquery - Fatal编程技术网

Php 在jQuery中单击按钮更改图像大小

Php 在jQuery中单击按钮更改图像大小,php,jquery,Php,Jquery,我正在进行图像上传,我需要为图像形状添加功能 有横向、纵向、方形和全景按钮。当用户单击其中任何一个时,div形状将相应地改变 这是方形形状的代码,但当我单击方形形状时,它会拉伸图像。我想在不拉伸图像的情况下更改div的形状 $('#Square').on('click', function(){ var images = $("#uploadedImage"); for(i=0; i<images.length; i++) images[i].onload

我正在进行图像上传,我需要为图像形状添加功能

有横向、纵向、方形和全景按钮。当用户单击其中任何一个时,div形状将相应地改变

这是方形形状的代码,但当我单击方形形状时,它会拉伸图像。我想在不拉伸图像的情况下更改div的形状

$('#Square').on('click', function(){
    var images = $("#uploadedImage");
    for(i=0; i<images.length; i++)
        images[i].onload = centerImage(images[i]);

    function centerImage(img) {
        if (img.width > img.height ) {
            var y = 160;
            var x = img.width/img.height*y;
            var marx = (x-y)/2;
            img.style.height = y+"px";
            img.style.marginLeft = -(marx) + "px";
        }
    }
});
$('#Square')。在('click',function()上{
var图像=$(“#上传图像”);
对于(i=0;i img.height){
变量y=160;
var x=img.宽度/img.高度*y;
var-marx=(x-y)/2;
img.style.height=y+“px”;
img.style.marginLeft=-(马克思)+“px”;
}
}
});

如果没有更通用的代码,很难重新创建运行的示例,但您的函数显然会更改变量img的维度、传递给函数的图像,而不是单击图像之外的任何div或其他元素。如果要基于图像的相同HxW测试更改div,请将img.*部分函数更改为$('#DivYouWant').*并且应该走上正确的道路。大致如下:

 function centerImage(img) {
        if (img.width > img.height ) {
            var y = 160;
            var x = img.width/img.height*y;
            var marx = (x-y)/2;
            $('#DivYouWannaMod').height = y+"px";
            $('#DivYouWannaMod').marginLeft = -(marx) + "px";
        }
    }