我来自Flash背景(记得Flash :)但我对JS很新,所以要温柔。
我正在围绕一个简单的ul构建一个旋转木马,其中每个li都是一个图像
我使用var list = $('#carousel li img');
如果我在控制台中检查list[0]
,我看到它是一个HTMLImageElement
并且宽度和clientWidth都列为74但是如果我尝试在我的脚本(list[0].width, list[0].clientWidth, $(list[0]).width() etc)
中获得该宽度我只是继续得到0.
如果我在img
标签中指定宽度,那么我就可以了,但这似乎是额外的输入,除非有一个很好的论据包括它。
答案 0 :(得分:1)
您需要在可以访问其尺寸之前加载图像。
查看图片元素的load
事件。请注意,使用已缓存的图像可能很困难。
您可以通过始终处理新的img
元素来解决这个问题(new Image
会创建一个元素。)