Javascript 使用jQuery获取调整大小的图像高度
我有一个图像,我需要得到的高度。我目前正在使用jQuery获取高度:Javascript 使用jQuery获取调整大小的图像高度,javascript,jquery,Javascript,Jquery,我有一个图像,我需要得到的高度。我目前正在使用jQuery获取高度: height = jQuery("#product-img-box img").attr("height"); 我面临的问题是,我在css中将图像的大小调整为88%,因此,我没有给我新的高度,而是在图像调整大小之前得到了高度。有没有办法获得新的高度?读取属性(使用.attr())将始终从DOM返回原始的内联高度属性 改用(或如果需要) .height() 返回:整数 说明:获取匹配元素集中第一个元素的当前计算高度 读取属性
height = jQuery("#product-img-box img").attr("height");
我面临的问题是,我在css中将图像的大小调整为88%,因此,我没有给我新的高度,而是在图像调整大小之前得到了高度。有没有办法获得新的高度?读取属性(使用.attr()
)将始终从DOM返回原始的内联高度属性
改用(或如果需要)
.height() 返回:整数 说明:获取匹配元素集中第一个元素的当前计算高度 读取属性(使用
.attr()
)将始终从DOM返回原始的内联高度属性
改用(或如果需要)
.height() 返回:整数 说明:获取匹配元素集中第一个元素的当前计算高度 获取匹配元素集中第一个元素的当前计算高度,或设置每个匹配元素的高度 获取匹配元素集中第一个元素的当前计算高度,或设置每个匹配元素的高度
代码可能还需要包装到window.resize事件侦听器中,以便在调整窗口大小时传递正确的值。 我还必须得到元素的高度,在onclick时用另一个替换后,但这是我通过为包装元素提供可见性/隐藏和绝对位置来解决的另一个方面。此时包含图像的元素不再可见,但将继续调整包含高度值的大小,并且在被其他元素替换时不会产生干扰。如果将css display/none应用于元素,则元素的高度值将为0。 重置为可见性/可见,当另一个元素(匹配相同维度)从dom中移除时,可能会定位/继承该元素或该元素之前的内容,并且img需要重新显示到位(具有正确的值)
在我看来,除了等待确认之外,没有其他方法可以解决类似的问题 代码可能还需要包装到window.resize事件侦听器中,以便在调整窗口大小时传递正确的值。 我还必须得到元素的高度,在onclick时用另一个替换后,但这是我通过为包装元素提供可见性/隐藏和绝对位置来解决的另一个方面。此时包含图像的元素不再可见,但将继续调整包含高度值的大小,并且在被其他元素替换时不会产生干扰。如果将css display/none应用于元素,则元素的高度值将为0。 重置为可见性/可见,当另一个元素(匹配相同维度)从dom中移除时,可能会定位/继承该元素或该元素之前的内容,并且img需要重新显示到位(具有正确的值)
在我看来,除了等待确认之外,没有其他方法可以解决类似的问题 试试jQuery(“#产品img box img”).height()@谢谢你的建议。仍然返回原始高度。请尝试jQuery(#product img box img”).height()@谢谢你的建议。仍然返回原始高度。仍然返回原始高度height@Jordy明智的做法是,你提供一个解决你的问题的方案。你想得到的价值是什么?以像素为单位的高度或“88%”?这仍然返回原始值height@Jordy明智的做法是,你提供一个解决你的问题的方案。你想得到的价值是什么?以像素为单位的高度还是“88%”?@Jordy我想我们需要看看你的css。这让我得到了调整后的高度:@Jordy我想我们需要看看你的css。这将为我获得调整后的高度:
height = jQuery("#product-img-box img").height();
height = jQuery("#product-img-box img").height();
var img = document.getElementById('imageid');
//or however you get a handle to the IMG
var width = img.clientWidth;
var height = img.clientHeight;
jQuery(document).ready(function(){
var imgc = document.getElementById("w3all-flightaw-img");
var imgcheight = imgc.clientHeight;
var imgcwidth = imgc.clientWidth;
... may apply css inline to elements that need to have the same width/height, when dom ready
function reportELEMSize() {
imgcheight = document.getElementById("flightaw-img").clientHeight;
imgcwidth = document.getElementById("flightaw-img").clientWidth;
... same as above: may apply css inline to elements, when window resize
}
window.onresize = reportELEMSize;
// OR (better, so listener not nullified by something else) use:
// window.addEventListener('resize', reportELEMSize);
});