Surfing time - is the loading time in other hand - is the big problem to all websites, site owners. And now, it's one of important factor to Google for ranking our URLs. For the big sites have a lot of images, this problem becomes more important cause the visitor's impatience.
If you own these sites and you need a good JavaScript solution, you should practice 3 ways to JavaScript preload images in this JavaScript tutorial. They're so easy and clear to follow, please go to the detailed post-page for instructions and JavaScript codes.
- Demo
- Enlarge
- Reload
- New window
Generate your business videos by AI with voice or just text
Your first FREE AI Video App! Automate Your First AI Video. Create Your Professional Video In 5 Minutes By AI No Equipment Or Video Editing Skill Requred. Effortless Video Production For Content Marketers.
Preloading images is a great way to improve the user experience. When images are preloaded in the browser, the visitor can surf around your site and enjoy extremely faster loading times. This is especially beneficial for photo galleries and other image-heavy sites where you want to deliver the goods as quickly and seamlessly as possible. Preloading images definitely helps users without broadband enjoy a better experience when viewing your content. In this article, we'll explore three different preloading techniques to enhance the performance and usability of your site.
Method 1: Preloading with CSS and JavaScript
There are many ways to preload images, including methods that rely on Perishable Press, I have covered image preloading numerous times:
- Better Image Caching with CSS
- A Way to Preload Images without JavaScript that is SO Much Better
- Pure CSS: Better Image Preloading without JavaScript
- CSS Throwdown: Preload Images without JavaScript
- Preloading Images with CSS and JavaScript
Each of these techniques sort of builds on previous methods and remains quite effective and suitable for a variety of design scenarios. Thankfully, readers always seem to chime in on these posts with suggestions and improvements. Recently, Ian Dunn posted an article that improves upon my Better Image Preloading without JavaScript method.
With that method, images are easily and effectively preloaded using the following CSS:
By strategically applying preload
IDs to existing (X)HTML elements, we can use CSS' background
property to preload select images off-screen in the background. Then,
as long as the paths to these images remains the same when they are
referred to elsewhere in the web page, the browser will use the
preloaded/cached images when rendering the page. Simple, effective, and
no JavaScript required.
As effective as this method is, however, there is room for improvement. As Ian points out, images that are preloaded using this method will be loaded along with the other page contents, thereby increasing overall loading time for the page. To resolve this issue, we can use a little bit of JavaScript to delay the preloading until after the page has finished loading. This is easily accomplished by applying the Simon Willison's addLoadEvent() script:
In the first part of this script, we are setting up the actual preloading by targeting specific preload
elements with background
styles that call the various images. Thus, to use this method, you will need to replace the "preload-01
", "preload-02
", "preload-03
", etc., with the IDs that you will be targeting in your markup. Also, for each of the background
properties, you will need to replace the "image-01.png
", "image-02.png
", "image-03.png
", etc., with the path and name of your image files. No other editing is required for this technique to work.
Then, in the second part of the script, we are using the addLoadEvent()
function to delay execution of our preloader()
function until after the page has loaded.
SO what happens when JavaScript is not available on the user's browser? Quite simply, the images will not be preloaded and will load as normal when called in the web page. This is exactly the sort of unobtrusive, gracefully degrading JavaScript that we really like :)
- Sent (0)
- New