我有一组动态获取的图像。对于我正在应用最大高度的每个图像,我将其用于重新调整大小的目的。
我有一个jquery re-size函数:
//调整我的照片
function resizeMyImg(objct, containerWidth, containerHeight) {
var width = $(objct).width(); // I try alerting here and get a 0 answer
if (width < containerWidth) {
var percentageToAdd = ((100 * width) / containerWidth) + 100;
$(objct).css({ maxHeight: percentageToAdd + "%" });
}
}
我正在尝试将此调整大小功能应用于我的图片:
$(document).ready(function () {
$(".photoAlbum").find("img").each(function () {
var myImage2 = $(this);
myImage2.load(function () {
alert(myImage2.height()); // I try alerting here and also get a 0 answer
resizeMyImg(myImage2, 240, 240);
});
});
});
这是我在我的网页中使用的HTML,希望有所帮助:
<div style="padding-top: 0px;" id="photosHere">
<div class="photoAlbum">
<img alt="" src="/Uploads/553290_471992686161625_498413822_n867.jpg" style="max-height: 100%;">
</div>
<div class="photoAlbum">
<img alt="" src="/Uploads/484524_430827793626240_991120671_n575.jpg" style="max-height: 100%;">
</div>
<div class="photoAlbum">
<img alt="" src="/Uploads/553290_471992686161625_498413822_n717.jpg" style="max-height: 100%;">
</div>
<div class="photoAlbum">
<img alt="" src="/Uploads/me993.jpg" style="max-height: 100%;">
</div>
<div class="photoAlbum">
<img alt="" src="/Uploads/me759.jpg" style="max-height: 100%;">
</div>
</div>
我的问题是我无法获得图像的宽度,我总是得到0而不是实际的宽度。但是,如果我测试图像,使用firebug,我得到正确的宽度。
N.B:有时候我会得到正确的答案,然后我刷新并再次获得0。有什么建议吗?我花了好几个小时才感到沮丧..
答案 0 :(得分:3)
今天我正在编写一个jQuery插件,我遇到了同样的问题,所以我最终引用了DOM元素。尝试
$(this)[0].height
代替myImage2.height()
和
$(this)[0].width
代替myImage2.width()
。
答案 1 :(得分:0)
我认为正确的宽度可能来自于摆弄萤火虫,并且刷新会清除所有的摆弄。
你有没有尝试过:
alert(myImage2.outerHeight());
在您显示的第二个代码和
中var width = $(objct).outerWidth
你的第一个代码中的