Do we need preloaders? Maybe... maybe not. It's up to you.
Here is a short list of jQuery solutions for you.
QueryLoader2
"What QueryLoader2 does is simply scanning the given elements for images (and background images) and preloading them before the website is visible.Spinner – A jQuery Preloader Plugin
This version has been modified to make it easier for users to implement (especially those who are already into jQuery.)
QueryLoader currently works with jQuery v1.6.4 and in IE version > 7, Chrome, Safari and Firefox."
"Spinner provides a simple approach for adding and removing a preloader for your web applications. Usage is as simple as calling $(‘elem’).spinner() and subsequently $(‘elem’).spinner(‘remove’). You may create your own custom preloaders at http://www.ajaxload.info. Please note that if you use a custom preloader, you must pass in the new height and width as options."jQuery - Preloader
"This jQuery plugin preloads css, js, html and images with visual loader, fast and very small (~3Kb)."jQuery.Preload
"This is an advanced multi-functional preloader, that has 4 modes integrated. Each mode suits a different, common situation."Seriously easy jQuery preloader
"[...] We aren’t actually going to build a preloader in the way that a Flash preloader works. Essentially, what we’re going to do is hide everything until the site is loaded. You do this by creating a div that covers the entire window, so you can’t see the site loading behind it and then when the site is completely loaded, you remove the div. We aren’t technically preloading anything, but we’re faking it and mimicking what people are used to with Flash preloaders."jquery preloader.js
"jquery preloader.js is an advanced multi-functional preloader, that has 4(actually 5) modes integrated.Simple jQuery Preloader Plugin
Each mode suits a different, common situation."
"After several searches for a pre-loading plugin for jQuery I came up short – they either did too much and had hundreds of options I didn’t want, or they were packaged with something else had a lot of code I didn’t need. The following plugin will allow you to pass in a selector (div, body, any other element) and pre-load all images within it, the plugin is very lightweight with only 17 lines from start to finish."jQuery UI Preloader plugin
"The main purpose of this plugin is to show indicator that some operation is in progress. As usually, it's rotating image or something like this."