Javascript jQuery计算img';s来自服务器的实际高度/宽度值
我的处境是:;当其中一个值在css上定义为0时,需要计算图像的原始Javascript jQuery计算img';s来自服务器的实际高度/宽度值,javascript,jquery,css,image,Javascript,Jquery,Css,Image,我的处境是:;当其中一个值在css上定义为0时,需要计算图像的原始宽度和高度值。我不能用jQuery更改CSS,需要这样解决: CSS: jQuery: var imgHeight = $('img').height(); alert(imgHeight);//which returning 0 ofcourse 我希望这可以用更少的代码实现,谢谢 var img = $('img'), imgHeight = img.css("width","auto").height(); im
宽度
和高度
值。我不能用jQuery更改CSS,需要这样解决:
CSS:
jQuery:
var imgHeight = $('img').height();
alert(imgHeight);//which returning 0 ofcourse
我希望这可以用更少的代码实现,谢谢
var img = $('img'),
imgHeight = img.css("width","auto").height();
img.css("width","0");
alert(imgHeight);
这是一把小提琴。我们所做的只是将高度临时设置为其自动值(即图像的100%宽度),抓取高度,然后将图像重置为width:0代码>
编辑:由于不能直接操作CSS,因此可以更改类:
var img = $('img'),
imgHeight = img.addClass("auto").height();
img.removeClass("auto");
alert(imgHeight);
和CSS:
img {width:0;}
img.auto {width:auto;}
这是一把小提琴。我们所做的只是将高度临时设置为其自动值(即图像的100%宽度),抓取高度,然后将图像重置为width:0代码>
编辑:由于不能直接操作CSS,因此可以更改类:
var img = $('img'),
imgHeight = img.addClass("auto").height();
img.removeClass("auto");
alert(imgHeight);
和CSS:
img {width:0;}
img.auto {width:auto;}
您可以将元素克隆到一个新的隐藏DOM节点(我假设您想在这里隐藏它)。然后移除CSS,然后测量维度。您可以将元素克隆到一个新的隐藏DOM节点(我假设您想在这里隐藏它)。然后移除CSS,然后测量尺寸。尝试以下操作:
var img = $("img")[0];
alert( img.naturalWidth + "x" + img.naturalHeight );
试试这个:
var img = $("img")[0];
alert( img.naturalWidth + "x" + img.naturalHeight );
首先是一个问题。您可以创建图像的DOM元素img
setdisplay:none
和src
。图像加载后,你们可以得到它的真实尺寸,谢谢你们的建议,但必须这样做,首先是头部。您可以创建图像的DOM元素img
setdisplay:none
和src
。加载图像后,您可以得到它的真实尺寸谢谢您的建议,但必须用这种方法完成,谢谢您的回答,但无法从jQuery操作css,需要用这种方法解决。然后没有其他方法,对不起。你们能操纵类吗?是的,我只是不能在这里改变宽度。谢谢你们的回答,但不能操纵来自jQuery的css,需要用这种方法来解决。那个么就并没有其他方法了,对不起。你能操作类吗?是的,我只是不能在这里更改宽度。@barlasapaydin,因为它们是图像的属性,而不是jQuery对象。我无法在我的网站上完成这项工作,需要更加努力,谢谢。如果它在演示中起作用,那么你就有责任正确地实现它。不知道naturalWidth
/naturalHeight
。做这件事的好方法+1.图像加载后您没有调用此命令?我认为这是一个给定的…@barlasapaydin,因为它们是图像的属性,而不是jQuery对象。我无法在我的网站上完成这项工作,需要更加努力,谢谢。如果它在演示中起作用,那么你有责任正确地实现它。从不知道自然宽度/自然高度。做这件事的好方法+1.图像加载后您没有调用此命令?我以为这是一个既定的。。。