jQueryでスクロール位置によってコンテンツを表示させています。
その中で、表示後にその中の画像の位置を変更してアニメーションさせている部分があるのですが、スクロールごとに何度も動いてしまいます(1回だけで止めたい)

$(window).scroll(function() {
    var scroll = $(window).scrollTop();
    var windowHeight = $(window).height();
    $('#box1').each(function() {
        var boxPos = $(this).offset().top;
        if(scroll > boxPos - windowHeight + 300){
            $(this).find('.transparence').animate({
                'opacity': '1'
            }, 600);
            $(this).find('.textarea').delay(400).animate({
                'opacity': '1',
            }, 600, function() {
                $('#moveimg01').delay('200').animate({
                    'left': '270px',
                    'bottom': '20px'
                }, 300, function() {
                    $('#moveimg01').animate({
                        'left': '250px',
                        'bottom': '0'
                    }, 200);
                });
            });
        }
    });
    $('#box2').each(function() {
        var boxPos = $(this).offset().top;
        if(scroll > boxPos - windowHeight + 300){
            $(this).find('.transparence').animate({
                'opacity': '1'
            }, 600, function() {
                $('#moveimg02').delay(200).animate({
                    'right': '-20px',
                    'top': '40px'
                }, 300, function() {
                    $('#moveimg02').animate({
                        'right': '0',
                        'top': '60px'
                    }, 200);
                });
            });
            $(this).find('.textarea').delay(400).animate({
                'opacity': '1',
            }, 600);
        }
    }); ・・・続く

この最後の

$('#moveimg01').animate({
  'left': '250px',
  'bottom': '0'
}, 200);

の部分でそれぞれ止めたいのですが、スクロールするたびに何度も動いてしまいます。
この部分で止める方法、もっとほかの書き方などありますでしょうか。