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>
$(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(){});
});