wp/wp-content/themes/twentyfourteen/js/functions.js
changeset 8 c7c34916027a
parent 7 cf61fcea0001
child 9 177826044cd9
--- a/wp/wp-content/themes/twentyfourteen/js/functions.js	Mon Oct 14 17:39:30 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/**
- * Theme functions file
- *
- * Contains handlers for navigation, accessibility, header sizing
- * footer widgets and Featured Content slider
- *
- */
-( function( $ ) {
-	var body    = $( 'body' ),
-		_window = $( window ),
-		nav, button, menu;
-
-	nav = $( '#primary-navigation' );
-	button = nav.find( '.menu-toggle' );
-	menu = nav.find( '.nav-menu' );
-
-	// Enable menu toggle for small screens.
-	( function() {
-		if ( ! nav.length || ! button.length ) {
-			return;
-		}
-
-		// Hide button if menu is missing or empty.
-		if ( ! menu.length || ! menu.children().length ) {
-			button.hide();
-			return;
-		}
-
-		button.on( 'click.twentyfourteen', function() {
-			nav.toggleClass( 'toggled-on' );
-			if ( nav.hasClass( 'toggled-on' ) ) {
-				$( this ).attr( 'aria-expanded', 'true' );
-				menu.attr( 'aria-expanded', 'true' );
-			} else {
-				$( this ).attr( 'aria-expanded', 'false' );
-				menu.attr( 'aria-expanded', 'false' );
-			}
-		} );
-	} )();
-
-	/*
-	 * Makes "skip to content" link work correctly in IE9 and Chrome for better
-	 * accessibility.
-	 *
-	 * @link http://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/
-	 */
-	_window.on( 'hashchange.twentyfourteen', function() {
-		var hash = location.hash.substring( 1 ), element;
-
-		if ( ! hash ) {
-			return;
-		}
-
-		element = document.getElementById( hash );
-
-		if ( element ) {
-			if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) {
-				element.tabIndex = -1;
-			}
-
-			element.focus();
-
-			// Repositions the window on jump-to-anchor to account for header height.
-			window.scrollBy( 0, -80 );
-		}
-	} );
-
-	$( function() {
-		// Search toggle.
-		$( '.search-toggle' ).on( 'click.twentyfourteen', function( event ) {
-			var that    = $( this ),
-				wrapper = $( '#search-container' ),
-				container = that.find( 'a' );
-
-			that.toggleClass( 'active' );
-			wrapper.toggleClass( 'hide' );
-
-			if ( that.hasClass( 'active' ) ) {
-				container.attr( 'aria-expanded', 'true' );
-			} else {
-				container.attr( 'aria-expanded', 'false' );
-			}
-
-			if ( that.is( '.active' ) || $( '.search-toggle .screen-reader-text' )[0] === event.target ) {
-				wrapper.find( '.search-field' ).focus();
-			}
-		} );
-
-		/*
-		 * Fixed header for large screen.
-		 * If the header becomes more than 48px tall, unfix the header.
-		 *
-		 * The callback on the scroll event is only added if there is a header
-		 * image and we are not on mobile.
-		 */
-		if ( _window.width() > 781 ) {
-			var mastheadHeight = $( '#masthead' ).height(),
-				toolbarOffset, mastheadOffset;
-
-			if ( mastheadHeight > 48 ) {
-				body.removeClass( 'masthead-fixed' );
-			}
-
-			if ( body.is( '.header-image' ) ) {
-				toolbarOffset  = body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0;
-				mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset;
-
-				_window.on( 'scroll.twentyfourteen', function() {
-					if ( _window.scrollTop() > mastheadOffset && mastheadHeight < 49 ) {
-						body.addClass( 'masthead-fixed' );
-					} else {
-						body.removeClass( 'masthead-fixed' );
-					}
-				} );
-			}
-		}
-
-		// Focus styles for menus.
-		$( '.primary-navigation, .secondary-navigation' ).find( 'a' ).on( 'focus.twentyfourteen blur.twentyfourteen', function() {
-			$( this ).parents().toggleClass( 'focus' );
-		} );
-	} );
-
-	/**
-	 * Add or remove ARIA attributes.
-	 *
-	 * Uses jQuery's width() function to determine the size of the window and add
-	 * the default ARIA attributes for the menu toggle if it's visible.
-	 * @since Twenty Fourteen 1.4
-	 */
-	function onResizeARIA() {
-		if ( 781 > _window.width() ) {
-			button.attr( 'aria-expanded', 'false' );
-			menu.attr( 'aria-expanded', 'false' );
-			button.attr( 'aria-controls', 'primary-menu' );
-		} else {
-			button.removeAttr( 'aria-expanded' );
-			menu.removeAttr( 'aria-expanded' );
-			button.removeAttr( 'aria-controls' );
-		}
-	}
-
-	_window
-		.on( 'load.twentyfourteen', onResizeARIA )
-		.on( 'resize.twentyfourteen', function() {
-			onResizeARIA();
-	} );
-
-	_window.load( function() {
-		var footerSidebar,
-			isCustomizeSelectiveRefresh = ( 'undefined' !== typeof wp && wp.customize && wp.customize.selectiveRefresh );
-
-		// Arrange footer widgets vertically.
-		if ( $.isFunction( $.fn.masonry ) ) {
-			footerSidebar = $( '#footer-sidebar' );
-			footerSidebar.masonry( {
-				itemSelector: '.widget',
-				columnWidth: function( containerWidth ) {
-					return containerWidth / 4;
-				},
-				gutterWidth: 0,
-				isResizable: true,
-				isRTL: $( 'body' ).is( '.rtl' )
-			} );
-
-			if ( isCustomizeSelectiveRefresh ) {
-
-				// Retain previous masonry-brick initial position.
-				wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) {
-					var copyPosition = (
-						placement.partial.extended( wp.customize.widgetsPreview.WidgetPartial ) &&
-						placement.removedNodes instanceof jQuery &&
-						placement.removedNodes.is( '.masonry-brick' ) &&
-						placement.container instanceof jQuery
-					);
-					if ( copyPosition ) {
-						placement.container.css( {
-							position: placement.removedNodes.css( 'position' ),
-							top: placement.removedNodes.css( 'top' ),
-							left: placement.removedNodes.css( 'left' )
-						} );
-					}
-				} );
-
-				// Re-arrange footer widgets after selective refresh event.
-				wp.customize.selectiveRefresh.bind( 'sidebar-updated', function( sidebarPartial ) {
-					if ( 'sidebar-3' === sidebarPartial.sidebarId ) {
-						footerSidebar.masonry( 'reloadItems' );
-						footerSidebar.masonry( 'layout' );
-					}
-				} );
-			}
-		}
-
-		// Initialize audio and video players in Twenty_Fourteen_Ephemera_Widget widget when selectively refreshed in Customizer.
-		if ( isCustomizeSelectiveRefresh && wp.mediaelement ) {
-			wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function() {
-				wp.mediaelement.initialize();
-			} );
-		}
-
-		// Initialize Featured Content slider.
-		if ( body.is( '.slider' ) ) {
-			$( '.featured-content' ).featuredslider( {
-				selector: '.featured-content-inner > article',
-				controlsContainer: '.featured-content'
-			} );
-		}
-	} );
-} )( jQuery );