Javascriptライトボックスを構築していて、イメージがロードされたらサイズを調整しようとしています。私は下のコードを使用しています。これはうまくいきます - 一度読み込まれると正しい幅を出力します。キャッシュされたときに画像の幅がゼロになります。
私の問題:私は更新すると
、それがキャッシュから瞬時にイメージをロードし、負荷をバイパスするようです。私は幅の瞬間ゼロを得ます。なぜこれが起こるのですか?
マイコード:**
var oImage = new Image();
oImage.src = 'http://mydomain.com/image.png';
container.html(oImage);
oImage.onload = function(){
alert(this.width);
}
更新* *
@Alex:これは私があなたのプラグインを試してみたコードで、私はおそらくだと仮定何か間違っている。私はあなたのプラグインがかなりよく見えるので、これを動作させることを熱望しています。
container.waitForImages(function() {
var cWidth = $(this).width();
alert("width: "+cWidth); // returns 0 - works first time but not cached
});
// Adding the image to the container for preload
container.html('<img src="mygraphic.png" />');
[my plugin](https:// github。)のコードを調べることができます。com/alexanderdickson/waitForImages)を参照してください。 – alex
@alex、あなたのプラグインを共有してくれてありがとう!解決策をここで答えとしてまとめることができれば幸いです。もしそうでなければ、うまくいけば誰かがもうすぐこれが私にとって大きな問題だからです。 – dkamins
onloadハンドラをHTMLに挿入する前に設定してみましたか? –