WordPress.org

Make WordPress Core

Ticket #24839: 24839.twenty-twelve.2.diff

File 24839.twenty-twelve.2.diff, 3.2 KB (added by lancewillett, 6 years ago)

Move IE styles, better JS to avoid breaking layout

  • wp-content/themes/twentytwelve/css/ie.css

     
    110110        position: absolute;
    111111        top: 100%;
    112112        z-index: 1;
     113        clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    113114}
    114115.ie7 .main-navigation li ul {
    115116        left: 0;
  • wp-content/themes/twentytwelve/functions.php

     
    140140                wp_enqueue_script( 'comment-reply' );
    141141
    142142        // Adds JavaScript for handling the navigation menu hide-and-show behavior.
    143         wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );
     143        wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '20140318', true );
    144144
    145145        $font_url = twentytwelve_get_font_url();
    146146        if ( ! empty( $font_url ) )
  • wp-content/themes/twentytwelve/js/navigation.js

     
    55 */
    66( function() {
    77        var nav = document.getElementById( 'site-navigation' ), button, menu;
    8         if ( ! nav )
     8        if ( ! nav ) {
    99                return;
     10        }
     11
    1012        button = nav.getElementsByTagName( 'h3' )[0];
    1113        menu   = nav.getElementsByTagName( 'ul' )[0];
    12         if ( ! button )
     14        if ( ! button ) {
    1315                return;
     16        }
    1417
    1518        // Hide button if menu is missing or empty.
    1619        if ( ! menu || ! menu.childNodes.length ) {
     
    1922        }
    2023
    2124        button.onclick = function() {
    22                 if ( -1 == menu.className.indexOf( 'nav-menu' ) )
     25                if ( -1 == menu.className.indexOf( 'nav-menu' ) ) {
    2326                        menu.className = 'nav-menu';
     27                }
    2428
    2529                if ( -1 != button.className.indexOf( 'toggled-on' ) ) {
    2630                        button.className = button.className.replace( ' toggled-on', '' );
     
    3034                        menu.className += ' toggled-on';
    3135                }
    3236        };
    33 } )();
    34  No newline at end of file
     37} )();
     38
     39( function( $ ) {
     40        $( '.main-navigation' ).find( 'a' ).on( 'focus blur', function() {
     41                $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
     42        } );
     43} )( jQuery );
     44 No newline at end of file
  • wp-content/themes/twentytwelve/style.css

     
    15181518                position: relative;
    15191519        }
    15201520        .main-navigation li ul {
    1521                 display: none;
    15221521                margin: 0;
    15231522                padding: 0;
    15241523                position: absolute;
    15251524                top: 100%;
    15261525                z-index: 1;
     1526                height: 1px;
     1527                width: 1px;
     1528                overflow: hidden;
     1529                clip: rect(1px, 1px, 1px, 1px)
    15271530        }
    15281531        .main-navigation li ul ul {
    15291532                top: 0;
    15301533                left: 100%;
    15311534        }
    1532         .main-navigation ul li:hover > ul {
     1535        .main-navigation ul li:hover > ul,
     1536        .main-navigation .focus > ul {
    15331537                border-left: 0;
    1534                 display: block;
     1538                clip: inherit;
     1539                overflow: inherit;
     1540                height: inherit;
     1541                width: inherit;         
    15351542        }
    15361543        .main-navigation li ul li a {
    15371544                background: #efefef;