我在页面中有一个图像,我试图获得宽度。
<img class="zoomerIcon" src="zoomer.png" />
所以我试图得到这样的宽度。
var imageWidth = $('.zoomerIcon').width();
但是,除非我在标记中设置了width属性,否则值为0。
如果在属性中手动设置,width()是否只返回大于0的宽度?你可以在这里看到整个剧本。
http://www.wantedcreative.com/development/zoomer/index.html
由于
答案 0 :(得分:1)
<强>更新强>
抱歉,我应该先查看你的来源 。以下是您需要更改代码的方法。要意识到的重要一点是,在图像完全加载之前,您无法获得宽度。这就是我使用load
事件回调来检索宽度的原因:
// Create the img element, add a load handler, then append it to the body
var $img = $('<img class="zoomIcon" alt="zoom icon" />').load(function(e){
// get icon image properties for use with animation
var imageWidth = $(this).width();
var imageHeight = $(this).height();
// ... any code that uses these variables needs to go in here ...
}).attr('src', zoomImage).appendTo( document.body );
原始答案:这是一般信息。
您可能将此代码放在document.ready
中,它会尝试在加载图像之前检索宽度。试试这个:
$(window).load(function(){
var imageWidth = $(".zoomer").width();
alert( imageWidth ); // Should be correct
});