Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 为什么这些图像比原始尺寸大?_Javascript_Jquery_Css_Image - Fatal编程技术网

Javascript 为什么这些图像比原始尺寸大?

Javascript 为什么这些图像比原始尺寸大?,javascript,jquery,css,image,Javascript,Jquery,Css,Image,我从facebook上获取了多张图片。它们被放置在滚动条中。当你点击图像时,会出现一个对话框,显示实际的图像。滚动条中的图像是缩略图大小,这是你从facebook上用src_small查询得到的 在获得图像之前,我无法确定图像的大小。有的很大,有的很小。为了说明这一点,以便所有图像都适合对话框,并且大小合理,我尝试了以下方法: /* * Image in the dialog div */ .DialogImagesBig { position: relative;

我从facebook上获取了多张图片。它们被放置在滚动条中。当你点击图像时,会出现一个对话框,显示实际的图像。滚动条中的图像是缩略图大小,这是你从facebook上用src_small查询得到的

在获得图像之前,我无法确定图像的大小。有的很大,有的很小。为了说明这一点,以便所有图像都适合对话框,并且大小合理,我尝试了以下方法:

/*
 * Image in the dialog div
 */
 .DialogImagesBig
 {
     position: relative;
     width: 95%;
     top: 0px;
     left: 10px;
 }
 /*
  * Firefox only
  */
 @-moz-document url-prefix() 
 {
     /*
      * Edits images for FF
      */
     .DialogImagesBig
     {
         height: 95% !important;
         width: 95% !important;
         position: relative;
         top: 0px;
         left: 10px;
     }
}
但它实际上会使一些图像变大,然后变大。大图像变小,但小图像变大并且像素化。为什么呢?我该如何解决这个问题,使所有图像都适合该对话框并且不被像素化


编辑我被告知我需要使用Javascript或Jquery?完成这件事。我该怎么做呢

您可以通过以下操作获得图像宽度/高度:

var img = new Image();
img.src = _image_src_

img.width // returns width
img.height // returns height

img // returns <img src="_image_src_" />

通过执行以下操作,可以获得图像宽度/高度:

var img = new Image();
img.src = _image_src_

img.width // returns width
img.height // returns height

img // returns <img src="_image_src_" />

你可以试试这种东西:

h = $('#theimage').height(); w = $('#theimage').width(); if(h > 400 && w < 500) { $('#theimage').height(400); $('#theimage').width = w / (h / 400); } ... ...
其他比较也一样,适当缩小。我认为数学是正确的…

你可以试试这种方法:

h = $('#theimage').height(); w = $('#theimage').width(); if(h > 400 && w < 500) { $('#theimage').height(400); $('#theimage').width = w / (h / 400); } ... ...
其他比较也一样,适当缩小。我认为数学是正确的…

95%的宽度/高度意味着父元素宽度/高度的95%,而不是图像原始大小的95%。

95%的宽度/高度意味着父元素宽度/高度的95%,而不是图像原始大小的95%。

您正在使用CSS调整大小,它将使图像适合,它不是一个只会使图像变小的处理器,它使它们都变小了95%。这意味着它放大了一些。你需要Javascript来做你正在尝试的事情。因为在FF中设置宽度会使图像变小,在chrome中设置高度和其他一切都会使图像变小。如果你使用CSS调整大小,它会使图像更合适,它不是一个只会使图像变小的处理器,它会使图像变小95%。这意味着它放大了一些。你需要Javascript来做你正在尝试的事情。因为在FF中设置宽度会使图像关闭,而在chrome中设置高度和其他一切都会使图像关闭。是的,我刚刚发现了另一篇类似的文章。我想这是唯一一种可以实现我想做的事情的方法。是的,我刚刚找到了另一篇类似的文章。我认为这是唯一能实现我想做的事情的方法