There are times when you only want specific elements of your site to show AFTER the page has finished loading.
For instance, the site may have a hero image, or slider section that loads more slowly than the rest of the page due to the weight of the images involved. And it looks bad when the page loads, and then everything below the slider section jumps to accommodate the spacing of the slider once that section displays.
CSS
First, place the following in your CSS document, changing the targeted elements to the section(s) you want to not display until the page has loaded.
visibility: hidden is used so that the space is reserved for the temporarily hidden element(s), so that the page items below that section will NOT jump down when the items are eventually displayed. Everything will be displayed in their intended position on the page right from the start.
/* hidden until page loaded; show via js */
#hero_section, #image_slider {
visibility: hidden;
}
jQuery
Then place the following in your JavaScript document. This will delay the display of those sections for a set time.
- Line 3 has the timing set to wait 300ms; depending on how quickly your site loads, you can increase or decrease this “wait” time
// display these elements with js
setTimeout(function() {
$('#hero_section, #image_slider').css('visibility','visible');
}, 300);
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.
Why 1SMARTchicken?
See More →
Thanks for your support!
jQuery Books
All are affiliate links. Thank you for your support!
jQUERY NOTES:
- To use jQuery on your site, it must first be downloaded from the official jQuery site and linked to in your document
head
, or linked to via a CDN in your documenthead
- It is generally good practice to place your jQuery code/function inside the document load function so that the action takes place ONLY after the document has finished loading
- When using jQuery, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
Feedback
If you see an error on the page or the code itself is incorrect or incomplete, or just plain wrong, please let us know. We’re always learning. NOTE: we do not sell your information and will not send you spam emails.