3

我在检索 jquery 循环插件上的图像对象的宽度属性时遇到问题

$(function() {

    $('#image').cycle({
        fx:     'fade',
        speed:  'slow',
        timeoutFn: calculateTimeout,
        width: 'auto',
        containerResize:true,
        slideResize: false,
        before:onBefore,
        after:onAfter
    });
});
function onAfter() {

    alert($(this).width()); 
}

它为从第二个到最后一个的所有图像提供正确的宽度,但它为第一个提供 0(第一个图像是 550*380)。有人可以向我解释为什么吗?

4

1 回答 1

0

它可能正在尝试获取尚未加载的图像的尺寸。尝试将此代码附加到 jqueryload事件而不是ready事件。

根据 jquery 文档,该load事件一直等到图像加载完毕,而ready在 DOM 构建完成后立即触发。

参考:http ://api.jquery.com/ready/

于 2012-10-19T13:33:08.507 回答