A simple AngularJS module to make it easy to pre-load images to prevent the horrible waterfall effect: Demo.
bower install angular-preload-image
<script src="https://github.com/RevillWeb/angular-preload-image/raw/master/bower_components/angular/angular.min.js"></script>
<script src="https://github.com/RevillWeb/angular-preload-image/raw/master/bower_components/angular-preload-image/angular-preload-image.min.js"></script>
angular.module('app', ['angular-preload-image']);
<div preload-bg-image="[URL]" default-image="[URL]" fallback-image="[URL]"></div>
<img preload-image ng-src="https://github.com/RevillWeb/angular-preload-image/raw/master/[URL]" default-image="[URL]" fallback-image="[URL]" />
MIT
Check out the demo for an example of pre-loading background images and pre-loading standard images with AngularJS.
Inspiration taken from Ben Nadel's post about pre-loading images.