Уважаемые форумчане не могу понять сложившуюся ситуацию.
Первый раз анимация проигрывается как и положено, но на второй и последующие неимоверно лагает и браузер крашится.
Вот код : 
function caseOpen(id){
var giftamount = 4;
var gw = $('.gift').outerWidth(true);
var giftcenter = gw/2;
var cycle = 7;
var containercenter = $('.boxwrapper').outerWidth(true)/2;
for(var i = 0; i <=4; i++)
{
  var giftduplicate = $('.giftwrapper').children().clone(true,true);
   $('.giftwrapper').append(giftduplicate);   
}    
  var btn = $("#opencase");
  btn.hide();
  var randomgift = 2;//Math.floor((Math.random() * 4) + 1);
  var distance = giftamount * gw * cycle + containercenter + (randomgift*gw) - giftcenter;
  
  $( ".giftwrapper" ).css({left: "0"});
  
  $('.giftwrapper').animate({left: "-="+distance},3000,function(){
    alert('You Won Gift' + randomgift); 
    btn.show();                  
   });
}