WordPress.org

Make WordPress Core

Ticket #21562: 21562.4.diff

File 21562.4.diff, 2.5 KB (added by lancewillett, 20 months 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' ) ); ?>