WordPress.org

Make WordPress Core

Ticket #21562: 21562.4.diff

File 21562.4.diff, 2.5 KB (added by lancewillett, 8 years ago)

No jQuery, show and hide menu with click handler

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

     
    534534.main-navigation .menu {
    535535        display: none;
    536536}
     537.main-navigation .menu.toggled-on,
    537538.menu-toggle {
    538539        display: inline-block;
    539540}
     
    15481549        .site-content nav,
    15491550        .widget-area,
    15501551        img.header-image,
    1551         nav.site-navigation {
     1552        .main-navigation {
    15521553                display: none;
    15531554        }
    15541555        .wrapper {
  • wp-content/themes/twentytwelve/js/navigation.js

     
    33 *
    44 * Handles toggling the navigation menu for small screens.
    55 */
     6( function() {
     7        var button = document.getElementById( 'site-navigation' ).getElementsByTagName( 'h3' )[0],
     8                menu   = document.getElementById( 'site-navigation' ).getElementsByTagName( 'ul' )[0];
    69
    7 jQuery( document ).ready( function( $ ) {
    8         if ( ! $( '#masthead .menu' ).children().length ) {
    9                 $( '#masthead .menu-toggle' ).hide();
    10         }
    11 
    12         $( '.menu-toggle' ).off( 'click' ).click( function() {
    13                 $( '#masthead .menu' ).stop().slideToggle();
    14                 $( this ).toggleClass( 'toggled-on' );
    15         } );
    16 } );
    17  No newline at end of file
     10        button.onclick = function() {
     11                if ( button.className.match( new RegExp( '(\\s|^)toggled-on(\\s|$)' ) ) ) {
     12                        button.className = 'menu-toggle';
     13                        menu.className = 'menu';
     14                } else {
     15                        button.className= 'menu-toggle toggled-on';
     16                        menu.className = 'menu toggled-on';
     17                }
     18        };
     19} )();
     20 No newline at end of file
  • wp-content/themes/twentytwelve/header.php

     
    3535                        <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
    3636                </hgroup>
    3737
    38                 <nav class="site-navigation main-navigation" role="navigation">
     38                <nav id="site-navigation" class="main-navigation" role="navigation">
    3939                        <h3 class="menu-toggle"><?php _e( 'Show menu', 'twentytwelve' ); ?></h3>
    4040                        <div class="skip-link assistive-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a></div>
    4141                        <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>