Javascript 如何获得CSS操纵图像的高度?
我有一些盒子里面有图像。我希望它做的是,如果图像高度小于其内部的div框,则向图像添加一个类 但是我已经将图像设置为div框的100%宽度,所以当我在图像上使用jquery的.Height()时,它会给出原始大小。有什么建议吗Javascript 如何获得CSS操纵图像的高度?,javascript,jquery,html,css,image,Javascript,Jquery,Html,Css,Image,我有一些盒子里面有图像。我希望它做的是,如果图像高度小于其内部的div框,则向图像添加一个类 但是我已经将图像设置为div框的100%宽度,所以当我在图像上使用jquery的.Height()时,它会给出原始大小。有什么建议吗 <div class="boxe"> <asp:Literal ID="imgProjekt1" runat="server" /> <asp:Literal ID="litProjekt1" runa
<div class="boxe">
<asp:Literal ID="imgProjekt1" runat="server" />
<asp:Literal ID="litProjekt1" runat="server"/>
</div>
<div class="boxe forsideboxMiddle">
<asp:Literal ID="imgProjekt2" runat="server" />
<asp:Literal ID="litProjekt2" runat="server"/>
</div>
ID为imgProjekt1和ImgProjekt2的文本从codebehind生成一个普通的img标记
$(function() {
var myImage = $('img'),
originalHeight = myImage.height();
getImgSize(myImage, originalHeight, myImage[0].src);
});
/* http://stackoverflow.com/questions/1944280/determine-original-size-of-image-cross-browser */
function getImgSize(myImage, currentHeight, imgSrc) {
var newImg = new Image();
newImg.onload = function() {
if(newImg.height > currentHeight) {
myImage.addClass('smaller');
alert(newImg.height + ' > ' + currentHeight);
}
}
newImg.src = imgSrc;
}
编辑:
仅当类的高度小于其父类的高度时,才应将其添加到图像中。较大的图像不应获得类,即使它们比源图像小 代码的时间:
$(function() {
var myImage = $('img');
getImgSize(myImage);
});
/* http://stackoverflow.com/questions/1944280/determine-original-size-of-image-cross-browser */
function getImgSize(myImage) {
myImage.each(function() {
var that = $(this),
parent = that.parent(),
originalHeight = that.height(),
parentHeight = parent.height(),
newImg = new Image();
newImg.onload = function() {
if(
newImg.height > originalHeight &&
parentHeight > originalHeight
) {
that.addClass('smaller');
}
}
newImg.src = that[0].src;
});
}
您能发布示例代码吗?这听起来像是一个非常具体的页面布局。是的,当然,现在应该在问题中。好的,谢谢!我怀疑这与您在调用
.height()
时有关。您是在您的onReady
中调用它还是在其他地方调用它?当您在图像的onload
事件后调用它时会发生什么?我不明白您的意思?它不…它还获取比盒子大的图像,并使它们具有类?该类只应添加到比dic盒子小的图像中在侧面,那些在高度上比船头大的应该得到classI猜测是你想要的,请检查:)我已经在小提琴的类中添加了css。你能检查一下吗?它在我的网站上起作用,但当我刷新页面时,它有时会将类添加到所有图像中。除了“将类添加到所有图像中”,你必须给我一个示例来测试它。不要忘记,如果将position:absolute
放入图像中,则父对象(div)必须是position:relative
,以便图像保持在div框中。