Javascript 画像の読み込み完了後に処理を実行?


以下のようなスクリプトを書いたのですが
new Image(1,1).src = "/test.php?id=<_ID_>";
この部分で『アクセスしたことに』してカウントのようなものを取っています。(<_ID_>は変数)http://example.com/test.php?id=<_ID_>にアクセスすると、パラメータに応じたクッキー残る仕組みです。
困ったことにクリック直後はloadのurlが更新されないのです。

アラートをわざとloadの前に実行すると、clickのloadが更新されるのが確認出来ました。
これはnew Imageの読み込み前にloadが実行されてしまったためでしょうか?
だとすればどうしたらnew Image(1,1).src = "http://example.com/test.php?id=<_ID_>";
の、読み込み後に$('#count').load(url,function(){});が実行できるでしょうか?

$(document).ready(function(){
var url = 'http://example.com/test.php';
$("#submit").click(function(){
new Image(1,1).src = "http://example.com/test.php?id=<_ID_>";
alert('test');//これを入れるとアラート後、loadload(url,function(){})の更新が確認できる
$("#submit").addClass("selected");
$('#count').load(url,function(){});
});
$('#count').load(url,function(){});
})
</script>

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/05/18 09:39:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

ポイント200pt
$(document).ready(function(){
  var url = 'http://example.com/test.php';
  $("#submit").click(function(){
    var self = this;
    var img = $('<img width="1" height="1">');
    img.attr('src', "http://example.com/test.php?id=<_ID_>");
    img.load(function() {
      //alert('test');//これを入れるとアラート後、loadload(url,function(){})の更新が確認できる
      $(self).addClass("selected");
      $('#count').load(url,function(){});
    });
  });
  $('#count').load(url,function(){});
});
id:goodbabies

回答ありがとうございます。
参考にはなったのですが、残念ながら動作しませんでした。

2012/05/18 09:39:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません