Make WordPress Core

Changeset 24005


Ignore:
Timestamp:
04/16/2013 10:35:55 PM (11 years ago)
Author:
lancewillett
Message:

Twenty Thirteen: further performance for functions.js scroll event callback, props obenland. See #23875.

Location:
trunk/wp-content/themes/twentythirteen
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-content/themes/twentythirteen/functions.php

    r23989 r24005  
    224224
    225225    // Loads JavaScript file with functionality specific to Twenty Thirteen.
    226     wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20130211', true );
     226    wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20130416', true );
    227227
    228228    // Loads our main stylesheet.
  • trunk/wp-content/themes/twentythirteen/js/functions.js

    r24004 r24005  
    66
    77( function( $ ) {
    8     var html          = $( 'html' ),
    9         body          = $( 'body' ),
    10         navbar        = $( '#navbar' ),
    11         _window       = $( window ),
    12         navbarOffset  = -1,
    13         toolbarOffset = body.is( '.admin-bar' ) ? 28 : 0,
     8    var html               = $( 'html' ),
     9        body               = $( 'body' ),
     10        navbar             = $( '#navbar' ),
     11        _window            = $( window ),
     12        toolbarOffset      = body.is( '.admin-bar' ) ? 28 : 0,
     13        navbarOffset       = navbar.offset().top - toolbarOffset,
     14        scrollOffsetMethod = ( typeof window.scrollY === 'undefined' ),
    1415        adjustFooter,
    1516        adjustAnchor;
     
    4950     * Displays the fixed navbar based on screen position.
    5051     */
    51     _window.on( 'scroll.twentythirteen', function() {
    52         var scrollOffset = ( typeof window.scrollY === 'undefined' ) ? document.documentElement.scrollTop : window.scrollY;
    53         if ( navbarOffset < 0 )
    54             navbarOffset = navbar.offset().top - toolbarOffset;
    55 
    56         if ( scrollOffset >= navbarOffset && _window.innerWidth() > 644 )
    57             html.addClass( 'navbar-fixed' );
    58         else
    59             html.removeClass( 'navbar-fixed' );
    60     } );
     52    if ( _window.innerWidth() > 644 ) {
     53        _window.on( 'scroll.twentythirteen', function() {
     54            var scrollOffset = scrollOffsetMethod ? document.documentElement.scrollTop : window.scrollY;
     55   
     56            if ( scrollOffset > navbarOffset )
     57                html.addClass( 'navbar-fixed' );
     58            else
     59                html.removeClass( 'navbar-fixed' );
     60        } );
     61    }
    6162
    6263    /**
Note: See TracChangeset for help on using the changeset viewer.