Making WordPress.org

Changeset 123


Ignore:
Timestamp:
11/19/2013 08:30:45 AM (13 years ago)
Author:
coffee2code
Message:

jobs.wordpress.net: Properly implement mobile menus. props mercime. see #84

  • style.css:
    • Add mobile styles
    • Fix color and padding of main navigation menu-toggle element
    • Add icons to the two mobile menus
    • Fix padding for job category row without any entry
  • sidebar.php: Add hooks to enable mobile menu set up of Position Type categories
  • navigation.js: Replace navigation.js which handled one menu with jQuery to handle both mobile menus (Position Type and Main Navigation menus)
  • functions.php: Move other enqueued stylesheets above the theme's main stylesheet and add jQuery dependency for revised navigation.js
Location:
sites/trunk/jobs.wordpress.net/public_html/wp-content/themes/jobswp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/jobs.wordpress.net/public_html/wp-content/themes/jobswp/functions.php

    r88 r123  
    104104 */
    105105function jobswp_scripts() {
     106        wp_enqueue_style( '996-normalize', get_template_directory_uri() . '/css/996/normalize.css' );
     107        wp_enqueue_style( '996-base',      get_template_directory_uri() . '/css/996/base.css' );
     108        wp_enqueue_style( '996-grid',      get_template_directory_uri() . '/css/996/grid.css' );
     109        wp_enqueue_style( '996-style',     get_template_directory_uri() . '/css/996/style.css' );
     110        wp_enqueue_style( 'dashicons' );
     111        wp_enqueue_style( 'open-sans' );
    106112        wp_enqueue_style( 'jobswp-style', get_stylesheet_uri() );
    107113
    108         wp_enqueue_script( 'jobswp-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );
    109 
     114        wp_enqueue_script( 'jobswp-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery'), '20131107', true );
    110115        wp_enqueue_script( 'jobswp-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );
    111116
    … …  
    117122                wp_enqueue_script( 'jobswp-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '20120202' );
    118123        }
    119 
    120         wp_enqueue_style( '996-normalize', get_template_directory_uri() . '/css/996/normalize.css' );
    121         wp_enqueue_style( '996-base',      get_template_directory_uri() . '/css/996/base.css' );
    122         wp_enqueue_style( '996-grid',      get_template_directory_uri() . '/css/996/grid.css' );
    123         wp_enqueue_style( '996-style',     get_template_directory_uri() . '/css/996/style.css' );
    124         wp_enqueue_style( 'dashicons' );
    125         wp_enqueue_style( 'open-sans' );
    126124
    127125        /* Modernizr disbabled because it causes Safari to whitescreen */
  • sites/trunk/jobs.wordpress.net/public_html/wp-content/themes/jobswp/js/navigation.js

    r88 r123  
    22 * navigation.js
    33 *
    4  * Handles toggling the navigation menu for small screens.
     4 * Handles toggling the two navigation menus for small screens.
     5 *
    56 */
    6 ( function() {
    7         var container, button, menu;
     7jQuery(document).ready(function(){
    88
    9         container = document.getElementById( 'site-navigation' );
    10         if ( ! container )
    11                 return;
     9        jQuery('.menu-toggle').click(function () {
     10                jQuery('.menu').slideToggle(400, function () {
     11                        jQuery('.menu').toggleClass('mobile-pop').css('display', '');
     12                });
     13        });
    1214
    13         button = container.getElementsByTagName( 'h1' )[0];
    14         if ( 'undefined' === typeof button )
    15                 return;
     15        jQuery('.menu-jobs-toggle').click(function () {
     16                jQuery('.menu-jobs').slideToggle(400, function () {
     17                        jQuery('.menu-jobs').toggleClass('mobile-pop').css('display', '');
     18                });
     19        });
    1620
    17         menu = container.getElementsByTagName( 'ul' )[0];
    18 
    19         // Hide menu toggle button if menu is empty and return early.
    20         if ( 'undefined' === typeof menu ) {
    21                 button.style.display = 'none';
    22                 return;
    23         }
    24 
    25         if ( -1 === menu.className.indexOf( 'nav-menu' ) )
    26                 menu.className += ' nav-menu';
    27 
    28         button.onclick = function() {
    29                 if ( -1 !== container.className.indexOf( 'toggled' ) )
    30                         container.className = container.className.replace( ' toggled', '' );
    31                 else
    32                         container.className += ' toggled';
    33         };
    34 } )();
     21});
  • sites/trunk/jobs.wordpress.net/public_html/wp-content/themes/jobswp/sidebar.php

    r88 r123  
    1111                        <aside id="cats" class="widget">
    1212                                <h3 class="widget-title"><?php _e( 'Position Types', 'jobswp' ); ?></h3>
    13                                 <ul>
     13                                <a href="#" class="menu-jobs-toggle"></a>
     14                                <ul class="menu-jobs">
    1415                                        <li class="job-cat-item job-cat-item-all"><a href="/" title="<?php esc_attr_e( 'View all job openings', 'jobswp' ); ?>"><?php _e( 'All Openings', 'jobswp' ) ?></a></li>
    1516                                <?php Jobs_Dot_WP::list_job_categories(); ?>
  • sites/trunk/jobs.wordpress.net/public_html/wp-content/themes/jobswp/style.css

    r88 r123  
    456456        display: none;
    457457}
     458.menu {
     459        display: block;
     460}
    458461
    459462@media screen and (max-width: 600px) {
    … …  
    759762        color: #21759b;
    760763}
     764
     765/* Small menu */
     766.menu-jobs-toggle {
     767    display: none;
     768}
     769.menu-jobs {
     770        display: block;
     771}
     772
    761773.all-job-categories a:hover, .jobs-group a:hover, #secondary #cats li a:hover {
    762774        color: #2EA2CC;
    … …  
    12461258        .container .jobs-group .grid_4,
    12471259        .container .jobs-group .grid_7,
    1248         .post-job-job-info {
     1260        .post-job-job-info,
     1261        .container .no-job.grid_9 {
    12491262                width: 100%;
    12501263        }
    … …  
    12521265        .container .jobs-group .grid_2,
    12531266        .container .jobs-group .grid_4,
    1254         .container .hentry .grid_3 {
     1267        .container .hentry .grid_3,
     1268        .container .no-job.grid_9 {
    12551269                padding-left: 20px;
    12561270                padding-right: 20px;
    … …  
    13011315        }
    13021316
     1317        #cats {
     1318                position: relative;
     1319        }
     1320        #cats h3 {
     1321                color: #2ea2cc;
     1322                margin: 0;
     1323                padding-bottom: 10px;
     1324        }
     1325        #cats h3:after {
     1326                content: '\f228';
     1327                font: 16px 'dashicons';
     1328                float: right;
     1329                vertical-align: top;
     1330        }
     1331        .menu-jobs {
     1332                display: none;
     1333                margin-top: 10px;
     1334        }
     1335        .menu-jobs.mobile-pop {
     1336                display: block;
     1337        }
     1338        .menu-jobs-toggle {
     1339                background: transparent;
     1340                display: block;
     1341                position: absolute;
     1342                top: 0;
     1343                left: 0;
     1344                width: 100%;
     1345                height: 50px;
     1346        }
    13031347        #wporg-footer {
    13041348                min-width: inherit;
    13051349        }
    13061350}
     1351@media only screen and (max-width: 600px) {
     1352        .menu {
     1353                display: none;
     1354        }
     1355        .menu.mobile-pop {
     1356                display: block;
     1357        }
     1358        .menu-toggle {
     1359                color: #ddd;
     1360                display: block;
     1361                font-size: 18px;
     1362                padding-bottom: 20px;
     1363                text-align: center;
     1364        }
     1365        .menu-toggle:after {
     1366                content: '\f228';
     1367                font: 16px 'dashicons';
     1368                margin-left: 15px;
     1369                vertical-align: middle;
     1370        }
     1371}
Note: See TracChangeset for help on using the changeset viewer.