Jquery循环在第一张图像后失去对$(this)on的引用

时间:2012-10-19 13:26:11

标签: jquery cycle

我在jquery循环插件

上检索图像对象的width属性时遇到问题
$(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)。有人可以解释为什么吗?

1 个答案:

答案 0 :(得分:0)

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

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

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