人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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>


●質問者: goodbabies
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Cherenkov
●200ポイント ベストアンサー
$(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(){});
});

goodbabiesさんのコメント
回答ありがとうございます。 参考にはなったのですが、残念ながら動作しませんでした。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ