wp/wp-content/themes/twentytwelve/js/theme-customizer.js
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-content/themes/twentytwelve/js/theme-customizer.js	Wed Nov 06 03:21:17 2013 +0000
@@ -0,0 +1,64 @@
+/**
+ * Theme Customizer enhancements for a better user experience.
+ *
+ * Contains handlers to make Theme Customizer preview reload changes asynchronously.
+ * Things like site title, description, and background color changes.
+ */
+
+( function( $ ) {
+	// Site title and description.
+	wp.customize( 'blogname', function( value ) {
+		value.bind( function( to ) {
+			$( '.site-title a' ).text( to );
+		} );
+	} );
+	wp.customize( 'blogdescription', function( value ) {
+		value.bind( function( to ) {
+			$( '.site-description' ).text( to );
+		} );
+	} );
+
+	// Header text color
+	wp.customize( 'header_textcolor', function( value ) {
+		value.bind( function( to ) {
+			if ( 'blank' === to ) {
+				$( '.site-title, .site-title a, .site-description' ).css( {
+					'clip': 'rect(1px, 1px, 1px, 1px)',
+					'position': 'absolute'
+				} );
+			} else {
+				$( '.site-title, .site-title a, .site-description' ).css( {
+					'clip': 'auto',
+					'color': to,
+					'position': 'relative'
+				} );
+			}
+		} );
+	} );
+
+	// Hook into background color/image change and adjust body class value as needed.
+	wp.customize( 'background_color', function( value ) {
+		value.bind( function( to ) {
+			var body = $( 'body' );
+
+			if ( ( '#ffffff' == to || '#fff' == to ) && 'none' == body.css( 'background-image' ) )
+				body.addClass( 'custom-background-white' );
+			else if ( '' == to && 'none' == body.css( 'background-image' ) )
+				body.addClass( 'custom-background-empty' );
+			else
+				body.removeClass( 'custom-background-empty custom-background-white' );
+		} );
+	} );
+	wp.customize( 'background_image', function( value ) {
+		value.bind( function( to ) {
+			var body = $( 'body' );
+
+			if ( '' != to )
+				body.removeClass( 'custom-background-empty custom-background-white' );
+			else if ( 'rgb(255, 255, 255)' == body.css( 'background-color' ) )
+				body.addClass( 'custom-background-white' );
+			else if ( 'rgb(230, 230, 230)' == body.css( 'background-color' ) && '' == _wpCustomizeSettings.values.background_color )
+				body.addClass( 'custom-background-empty' );
+		} );
+	} );
+} )( jQuery );