要素が作成されたときに、画像要素である関数のコールバックを実行したいと考えています。コードは、次のコードで新しい画像要素を読み込むことで動作します。ロード関数jQueryのコールバック
$('<img />').load(function()
{
var img = this;
$('.block-wrap img').fadeOut('slow', function()
{
$(this).replaceWith(img);
});
}).attr('src', loadurl);
しかし、画像が読み込まれて置き換えられたときに続行したいと考えています。これは、私はそれを動作させる必要がある方法です:
$('<img />').load(function()
{
var img = this;
$('.block-wrap img').fadeOut('slow', function()
{
$(this).replaceWith(img);
});
}).attr('src', loadurl);
$('.block-wrap input.imageheight').val($('.block-wrap img').height());
$('.block-wrap input.imagewidth').val($('.block-wrap img').width());
それは最初の画像の高さ(負荷スピナー画像で置き換えられていない画像)を返しますので、私は画像の高さを取得できるようにする必要がありますDOMに完全にロードされたときの幅を示します。あまりにも悪い.replaceWith()
コールバックメソッドがありませんが、私は関数を渡された関数のために動作しないので、でコールバック関数を使用することはできません。
Hmmm。それはもっともらしく、各値に対して常に '0'を返したので、私はそれらを100msの' setTimeout() 'でラップして、イメージの次元を返しました。それよりもはるかに良い解決策があるかどうかまだ分かりません。 – MacMac