0

我来自 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那么我就可以了,但这似乎只是额外的输入,除非有一个很好的论据来包含它。

4

1 回答 1

1

您需要先加载图像,然后才能访问其尺寸。

查看图像元素的load事件。请注意,使用已缓存的图像可能很困难。

您可以通过始终处理一个新img元素(new Image将创建一个)来解决这个问题。

于 2012-05-23T12:08:12.157 回答