我在 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)。有人可以向我解释一下为什么吗?
最佳答案
它可能正在尝试获取尚未加载的图像的尺寸。尝试将此代码附加到 jquery load
事件而不是 ready
事件。
根据 jquery 文档,load
事件会等待图像加载完毕,而 ready
会在 DOM 构建完成后立即触发。
关于Jquery 循环在第一个图像中失去对 $(this) onAfter 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975273/