0

私の名前はエゼキエルです。JQuery は初めてです

の src を動的に変更し、表示される画像の幅を取得したいと考えています。

ID(「idImg」)を持つimgタグがあります。

問題は、私のコードが最初の src 変更に対してのみ機能し、何度も (繰り返し) 変更する必要があることですが、ハードコーディングされた 2 つの変更のみを示します。

      $("#idImg").attr("src", scrString); //src field changes ok
      alert($("#idImg").width()) // ok, this is the real width.
      $("#idImg").attr("src", scrStringANOTHER); //src field changes ok
      alert($("#idImg").width()) // nope, it keeps the same width than the last one.

わからない、何が問題なのか分からない

編集:ロードされるまで待たなければならないことはわかっていますが、srcを複数回変更するとうまくいきません。src を複数回変更し、各画像の結果の幅を確認する必要があります。

何か助けはありますか?

たいへん

エゼキエル。

4

2 に答える 2

0
$(document).ready(function(){ 
    $('#idImg').on('click', function() {
      $(this).attr('src', 'newimage.png');  
    }).load(function() { alert(this.width); });
});

完全な例を参照してください: http://jsfiddle.net/k9rn7/

于 2013-02-28T20:25:20.027 に答える
0
$("#idImg").load(function()
{
  alert($(this).width());
});

画像のロード イベントにバインドします。この時点で、幅の準備が整います。

これを行う別の方法は、イメージを別の img にロードし、ロード後にスワップアウトすることです。イメージのプリロードに関するこの SO スレッドを参照してください: jQuery を使用したイメージのプリロード

于 2013-02-28T20:20:59.337 に答える