WordPress.org

Make WordPress Core

Ticket #24882: 24882.diff

File 24882.diff, 1.8 KB (added by georgestephanis, 5 years ago)
  • wp-content/themes/twentyfourteen/js/stickymenu.js

     
     1
     2jQuery(document).ready(function($){
     3
     4        var $secondary = $( '#secondary' ),
     5            $window = $( window );
     6
     7        $secondary.css( 'position', 'relative' );
     8
     9        $window.scroll( function() {
     10                var offset = window.pageYOffset;
     11
     12                // Avoid awkward positions for Webkit 'springy' scrolling.
     13                if ( offset < 0 ) {
     14                        return;
     15                }
     16
     17                // Don't force it down past the bottom of the page.
     18                if ( offset + $window.height() > $(document).height() ) {
     19                        return;
     20                }
     21
     22                if ( $secondary.height() <= $window.height() ) {
     23
     24                        $secondary.css( 'top', offset );
     25
     26                } else {
     27
     28                        if ( ( offset + $window.height() ) > ( $secondary.position().top + $secondary.height() + $secondary.offsetParent().offset().top ) ) {
     29                                secondaryOffset = offset + $window.height() - $secondary.height() - $secondary.offsetParent().offset().top;
     30                                $secondary.css( 'top', secondaryOffset );
     31                        } else if ( offset < $secondary.position().top ) {
     32                                $secondary.css( 'top', offset );
     33                        }
     34
     35                }
     36
     37        });
     38});
  • wp-content/themes/twentyfourteen/functions.php

     
    224224        }
    225225
    226226        wp_enqueue_script( 'twentyfourteen-theme', get_template_directory_uri() . '/js/theme.js', array( 'jquery' ), '20130402', true );
     227        wp_enqueue_script( 'twentyfourteen-stickymenu', get_template_directory_uri() . '/js/stickymenu.js', array( 'jquery' ), mt_rand(), true );
    227228}
    228229add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
    229230