ajax を介してコンテンツをロードし、要素をスライドして開く Fx.Slide インスタンスがあります。スライドして開く前に、AJAX呼び出しが返される(そしてそのターゲット要素のコンテンツを入力する)のを正しく待機しますが、画像データではなくURLのみを転送しているため、 Fx.Slide インスタンスが切り替えられます。
したがって、要素が測定されるとき、画像のサイズは考慮されず、十分にスライドして開きません。
A.delay()
は機能しますが、ハックっぽい回避策です。
解決
lorenzo-s のおかげで、次のソリューションは見事に機能します。
var container = document.id('something');
new Request({
url: '/path/to/listener',
onSuccess: function(imageUrl) {
Asset.image(imgSrc, {
title: 'Something',
onLoad: function() {
// .. trigger the Fx.Slide instance here
}
}).inject(container);
}
});