Это работает (http://jsfiddle.net/44nwt/11/)
было две проблемы:
# 1 каждый щелчок создает еще один экземпляр шара и ballwrapper, и добавляет их в телоНеобходимо создать экземпляр, только если он еще не существует. Так что это будет выглядеть примерно так:
$('body').click(function() {
var wrapper = $('.ballwrapper');
if( wrapper.length == 0 ) {
$('body').append('<div class="ballwrapper"><img class="ball" src="http://michaelreid.typepad.com/.a/6a00e54edabd838833011168a00f09970c-800wi"/></div>');
}
MoveCode();
});
# 2 Вам нужны ворота в начале вашегоФункция MoveCode для предотвращения продолжения «лишних» циклов (запускаемых при каждом дополнительном щелчке) после удаления шарика / шарикоподшипника.
function MoveCode() {
var wrapper = $('.ballwrapper');
if( wrapper.length == 0 ) return;
var l = $('.ball').css("left");
var left = parseInt(l);
if (left > parseInt(wrapper.css('width'))) {
//alert('removed');
wrapper.remove();
return;
}
$('.ball').css("left", (left + 60) + "px");
setTimeout(MoveCode, 160);
}
Также обратите внимание ... Я изменил его наудалите шариковую упаковку вместо того, чтобы просто удалить шарик, в противном случае, если вы пропустите его снова и снова, вы накапливаете старые, неиспользованные шариковые упаковщики на заднем плане.