You can use jQuery's Promise API:
$(document).ready(function () {
$(window).scroll(function () {
var bottom_of_window = $(window).scrollTop() + $(window).height();
var bottom_of_object = $('.cta-first').offset().top + $('.cta-first').outerHeight();
if (bottom_of_window > bottom_of_object) {
// stop and do not complete animations on both elements
$('.cta-first, .cta-second').stop(true, false);
$.when($('.cta-first').stop(true, true, false).animate({
opacity: 1
}, 2000))
.then(function () {
$('.cta-second').animate({
opacity: 1
}, 2000);
});
}
});
});