рони,
Спасибо за ответ, но у вас громоздкое решение, возможно оно более оптимальное, но мне не подходит.
Sweet,
Ваш вариант ведет себя точно так же как и мой, хотя он явно более правильный.
У меня начинает складываться впечатление что дело в вызове функции, потому что в синтетических условиях и мой вариант и вариант
Sweet, работает корректно.
Вызов происходит внутри функции обработчика, которая срабатывает по событию клик.
Вот так выглядит функция обработчик:
function generatePoster () {
var hide_items = $('.hide').size() - 1;
var rand_items = random.getRandomInt(0, hide_items);
var rand_radius = random.getRandomInt(200, 600);
var atr = $('.hide').eq(rand_items).attr('src');
$('.image').attr('src', atr);
$('.main_poster_cal').hide();
$('.main_poster_cal').eq(rand_items).show();
$('.round').animate({
width: rand_radius,
height: rand_radius
}, {duration: 400, queue: false})
}