Preload Large Size Images Using jQuery - Preload.js
File Size: | 78.3 KB |
---|---|
Views Total: | 7346 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
Preload.js is an ultra-light jQuery plugin that displays a loading spinner to preload large size images before loading them into the DOM.
How to use it:
1. Include the latest version of jQuery preload.js after loading jQuery library.
<script src="//code.jquery.com/jquery-3.1.0.min.js"></script> <script src="jquery.preload-1.2.0.js"></script>
2. Prepare the images you want to preload.
<img src="1.jpg" class="toLoad loadedContent"> <img src="2.jpg" class="toLoad loadedContent"> <img src="3.jpg" class="toLoad loadedContent">
3. Create the html for the image preloader.
<div class="loadingContent loadingCentre"> <img src="preloader.gif"> <div id="loadingBar"></div> <div id="loadingText">Loading 3 large files..</div> </div>
4. Hide the images when preloading.
.toLoad { display: none; }
5. The sample CSS for the preloader.
.loadingCentre { position: absolute; height: 130px; width: 130px; left: 50%; top: 50%; margin-left: -65px; margin-top: -65px; background: #fafafa; } #loadingBar { width: 130px; height: 15px; border: 1px solid #ccc; border-radius: 20px; } .loadedContent { height: 800px; } #loadingText { text-align: center; color: #AAA; font-size: 11px; font-family: arial; }
6. Call the plugin as follows:
$(".toLoad").preload({ // class of elements to show while loading loadingClass: 'loadingContent', // Class of elements to show once loaded loadedClass: 'loadedContent', // Optional function to call per element loaded (passing in index,totalCount) progressFunction: progress // Optional function to call once all are loaded onComplete: complete });
7. An example progress function:
function progress(x, total) { var p1 = parseInt(100/total*x); var p2 = p1 + 1; console.log(p1 + "," + p2); $("#loadingBar").css("background","linear-gradient(90deg, #3498db " + p1 + "%, #FFF " + p2 + "%)"); }
8. An example completion function:
function complete() { // Could put something in here to do after load (this replaces the default action) // This would do the same as the default function if it's wanted as well // $(".loadingContent").fadeOut(200, function(){$(".loadedContent").fadeIn(200);}); }
This awesome jQuery plugin is developed by Tolansky. For more Advanced Usages, please check the demo page or visit the official website.