This answer is not useful
The simplest solution would be:
<div id="carousel" class="carousel slide lazy-load" data-ride="carousel" data-interval="false">
<div class="carousel-inner">
<div class="item active"><img src="image1.jpg"></div>
<div class="item"><img data-src="image2.jpg"></div>
<div class="item"><img data-src="image3.jpg"></div>
</div>
<!-- controls -->
<ol class="carousel-indicators">
<li data-target="#carousel" data-slide-to="0" class="active"></li>
<li data-target="#carousel" data-slide-to="1"></li>
<li data-target="#carousel" data-slide-to="2"></li>
</ol>
</div>
<script>
$(function() {
$('.carousel.lazy-load').bind('slide.bs.carousel', function (e) {
var image = $(e.relatedTarget).find('img[data-src]');
image.attr('src', image.data('src'));
image.removeAttr('data-src');
});
});
</script>
image.attr("src", image.data('lazy-load-src'));