Preload header image

Example: caras.org

jQuery(function($){
// Preload header image
var $header = $( '.page-header' ),
headerImage = $header.data( 'image' );
if ( headerImage ) {
var img = new Image();
img.src = headerImage;
$ (window ).load( function(){
$header.css( 'background-image', 'url(' + headerImage + ')' );
});
}
});
view raw global.js hosted with ❤ by GitHub
<?php
/**
* Page Header
*
*/
function ea_page_header() {
$image_id = $title = $content = false;
if( is_singular() && has_post_thumbnail() )
$image_id = get_post_thumbnail_id();
if( is_page() ) {
$title = get_the_title();
remove_action( 'tha_entry_top', 'ea_entry_title' );
}
if( is_home() ) {
$title = get_the_title( get_option( 'page_for_posts' ) );
}
if( is_archive() ) {
$title = get_the_archive_title();
}
if( is_search() )
$title = 'Search results for: <em>' . get_search_query() . '</em>';
if( is_home() || is_archive() || is_search() )
$image_id = get_post_thumbnail_id( get_option( 'page_for_posts' ) );
if( empty( $image_id ) )
$image_id = ea_cf( 'ea_header_image', false, array( 'type' => 'theme_option' ) );
echo '<div class="page-header" data-image="' . wp_get_attachment_image_url( $image_id, 'full' ) . '"><div class="wrap">';
if( !empty( $title ) )
echo '<h1>' . $title . '</h1>';
echo $content;
echo '</div></div>';
}
add_action( 'tha_header_after', 'ea_page_header' );
view raw page-header.php hosted with ❤ by GitHub
.page-header {
background-image: url(../images/loading.png);
background-size: cover;
background-position: center center;
position: relative;
transition: background-image 0.4s ease-in-out;
}
view raw style.css hosted with ❤ by GitHub

javascript performance