Здравствуйте. Есть простенький слайдер по просмотру изображений. Вот часть кода. При клике по 1/3 области с изображением показывается предыдущее изображение из текущего альбома. Плюс 2 алерта.
$('#imagebox-leftblock').click(function(e){
if (e.pageX>=ltLeftImageboxLeft && e.pageX<=brLeftImageboxLeft*0.3 && e.pageY>=ltTopImageboxLeft && e.pageY<=brToptImageboxLeft){
$.ajax({
url: 'getPhotosFromAlbum.ajx.php',
data: {idPhoto:idPhoto, key:2},
type: 'post',
success: function(data){
if(data['idPhoto'])
idPhoto=data['idPhoto'];
if(data['prevExtFile'])
extFile=data['prevExtFile'];
var pathNextPhoto='i/albums/'+idPhoto+'.'+data['prevExtFile'];
$('#imagebox-leftblock img:eq(0)').attr('src', pathNextPhoto);
$('#imagebox-leftblock').append('<p id="photosCount" class="colorWhite"></p>');
$('#photosCount').html(data['numberCurrentPhoto']+' из '+data['countPhotos']);
$('#photosCount').css('position', 'absolute');
$('#photosCount').css('top', $('#imagebox-leftblock').height()-$('#photosCount').height());
$('#photosCount').css('left', '20px');
alert($('#imagebox-main-img').width());
},
dataType:"json"
});
alert($('#imagebox-main-img').width());
}
...
Вот скриншот, что получилось:
Как видно, в алерте ширина 225, хотя на самом деле должна быть 243px. А 225 - это ширина предыдущего (прошлого) изображения. Если я просмотрю следующее изображение, то в алерте будет 243, хотя на самом деле ширина изображения будет уже другая. То есть jQuery указывает ширину изображения с отставанием на 1 изображение.
С чем это может быть связано? Судя по всему из-за аджакса, с таким раньше никогда не сталкивался.