wp/wp-content/themes/twentytwelve/js/navigation.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 * navigation.js
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * Handles toggling the navigation menu for small screens.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	var nav = document.getElementById( 'site-navigation' ), button, menu;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	if ( ! nav )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
		return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
	button = nav.getElementsByTagName( 'h3' )[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	menu   = nav.getElementsByTagName( 'ul' )[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	if ( ! button )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
		return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
	// Hide button if menu is missing or empty.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
	if ( ! menu || ! menu.childNodes.length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		button.style.display = 'none';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
	button.onclick = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		if ( -1 == menu.className.indexOf( 'nav-menu' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			menu.className = 'nav-menu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		if ( -1 != button.className.indexOf( 'toggled-on' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			button.className = button.className.replace( ' toggled-on', '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
			menu.className = menu.className.replace( ' toggled-on', '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			button.className += ' toggled-on';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			menu.className += ' toggled-on';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
} )();