点击jQuery中的按钮更改图像大小

时间:2013-04-05 07:23:35

标签: php jquery

我正在处理图片上传,我需要为图片形状添加功能。

有横向,纵向,正方形和全景按钮。当用户单击其中任何一个时,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";
        }
    }
});

1 个答案:

答案 0 :(得分:0)

如果没有更通用的代码,很难重新创建运行示例,但是你的函数明显改变了变量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";
        }
    }