Builder jQuery Customizations

From IThemes Codex
(Difference between revisions)
Jump to: navigation, search
(Created page with "= Examples of Using jQuery in Builder = === Disclaimer === '''iThemes will not be responsible for any issues that may be the result of your attempts to change your site's fun...")
 
 
Line 1,122: Line 1,122:
 
}
 
}
 
</pre>
 
</pre>
 +
 +
 +
=See also=
 +
* [[Builder_Generic_Customizations| Generic Customizations]]
 +
* [[Builder_Plugin-related_Customizations| Plugin-related Customizations]]
 +
*[[Builder_jQuery_Customizations|jQuery Customizations]]
 +
 +
<br />
 +
[[:Builder|← Back to Builder Codex Home]]

Latest revision as of 09:17, July 30, 2013

Contents

Examples of Using jQuery in Builder

Disclaimer

iThemes will not be responsible for any issues that may be the result of your attempts to change your site's functions.php file. You do not HAVE to change it. All code samples are for your information, possibly inspiration, and provided "as is". However, when properly implemented, the code samples are accurate and will work.

Warning

If you do not understand what it is you are doing, if the words "php", "opening tag", "FTP", "functions" and "backup" are not familiar to you proceed with caution. You can blow up your site due to invalid code in the functions.php file. Actually, even if you know or think you know it all, it still happens (it happens to me at least once a week - Ronald).

A single missing } or even a , or a semi-colon is all it takes to take your site down. This can be resolved by undoing the changes, however, this can not be done through the wp-dashboard > Appearance > Editor anymore (since your site is down). You then have to restore the functions.php file either through FTP or your hosting cPanel File Manager.

If you think you can not do that, or do not understand what all the above means, I suggest you refrain from editing functions.php.

Should anything go wrong, do not blame the code posted here. The code works. It just needs to be inserted a) the right way, and b) in the right place.

For everyone else feeling confident, and having read the Disclaimer and the paragraph on how to add PHP code to a PHP file, DO MAKE A BACKUP, at least of the file you are editing. It is also not recommended to do these changes through the wp-dashboard > Appearance > Editor. Setup a localhost server on your computer, and use a simple PHP Editor (with syntax checking), ensure that your additions do not break the site and only THEN FTP your files to your server.

How to add PHP code to a PHP file

When adding code to the functions.php file (or any PHP file), make sure it is in PHP format. HTML code is not PHP code, and it WILL break things when coded inside a block of PHP code.

PHP code can be identified by an opening tag: <?php and a closing tag ?>

all code between these tags should be PHP code.

Most WordPress themes have the opening <?php tag in functions.php, coded all the way at the top of the file. Most (Builder Child theme) functions.php files do not have a closing ?> tag (ALL THE WAY) at the end of the file, since it is not required.

So if you add code at the end of your functions.php file, and do so before the closing ?> PHP tag (if any!) you (generally!) are inside a PHP block of code. But this is NOT guaranteed.

  • You can't add html code inside PHP tags.
  • You can't add PHP code outside PHP tags.
  • You can't add opening PHP tags INSIDE a block of PHP code (nesting <?php some php code ?> when there is no closing php tag before it).

Before making the final edits and saving and uploading the file to your server, make sure that the syntax of the entire functions.php is valid syntax. You can do so by using a PHP Editor, and there are online tools such as this one: http://www.piliapp.com/php-syntax-check/

example of correct PHP code

<?php
PHP code
?>

html code

<?php
some more PHP code
?>

example of incorrect PHP code 1

<?php
php code

   <?php
   some more php code
   ?>

?>

example of incorrect PHP code 2

<?php
html code
?>

example of incorrect PHP code 3

<?php
php code
?>

more php code


Introduction

Please note that code shown is for a particular child theme and for a specific version used when writing the articles. It would usually have to be modified to suit your needs. All code samples use certain selector names (for menus, for builder selectors etc.) This is entirely arbitrary, and it is highly unlikely that your selectors are the same. You have to adapt the code accordingly.

All code samples provided here ASSUME that it will be placed in already existing PHP tags. Therefore, you will not find an opening <?php code at the start, or a closing ?> tag at the end.

How to assign odd and even classes to menu items in nav bar

One typical usage of this would be to set different background colors to alternate menu items.

2013-02-02 21-15-52.png

Add the following at the end of child theme's functions.php:

// Assign even and odd classes to nav bar menu items

add_action('wp_enqueue_scripts', 'add_my_code_1');

function add_my_code_1() {
    add_action( 'print_footer_scripts', 'my_footer_script_1' );
}

function my_footer_script_1() { ?>
    <script type="text/javascript">
        jQuery(document).ready(function($) {
        	$("#menu-main-menu > li:nth-child(odd)").addClass("odd");
        	$("#menu-main-menu > li:nth-child(even)").addClass("even");
        });
    </script>
<?php }

where menu-main-menu is the CSS ID of custom menu shown in the nav bar.

Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

.builder-module-navigation li.even a {
    background: red;
}

.builder-module-navigation li.odd a {
    background: blue;
}

.builder-module-navigation li.even li a,
.builder-module-navigation li.odd li a {
    background: #FFF;
}

.builder-module-navigation li a:hover,
.builder-module-navigation li.even li a:hover,
.builder-module-navigation li.odd li a:hover {
    background: #333;
    color: #FFF;
}

.builder-module-navigation .current_page_item.even a, .builder-module-navigation .current_page_item.odd a
.builder-module-navigation .current-cat.even a, .builder-module-navigation .current-cat.odd a
.builder-module-navigation .current-menu-item.even a, .builder-module-navigation .current-menu-item.odd a {
	background: #333;
}

.builder-module-navigation li a,
.builder-module-navigation .current_page_item li a,
.builder-module-navigation .current-cat li a {
	color: #FFF;
}

.builder-module-navigation li li a {
    color: #333;
}

Ex.:

Live Demo. Code used on this site: functions.php, style.css.

How to spread/space out menu items equally across the nav bar

Before
After

Add the following at the end of child theme's functions.php but before a closing ?>, if any):

// =========================================
// = Space out nav bar menu items equally =
// =========================================

// load javascript in the footer
add_action('wp_enqueue_scripts', 'add_my_code_37742');
function add_my_code_37742() {
        add_action( 'print_footer_scripts', 'my_footer_script_37742' );
}

// Add Javascript to footer
function my_footer_script_37742() { ?>

<script type="text/javascript">

jQuery(document).ready(function($) {

        var menuItems = $("ul#menu-main-menu").children().length;
        var menuWidth = $("ul#menu-main-menu").width();
        var percentage = (menuWidth / menuItems) / (menuWidth / 100);

        $("ul#menu-main-menu").children().each(function() {
                $(this).css('width',  percentage + '%');
        });

});

</script>

<?php }

where menu-main-menu is the ID of custom menu shown in the nav bar.

Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

/*********************************************
    Space out nav bar menu items equally
*********************************************/

.builder-module-navigation ul {
	width: 100%;
}

.builder-module-navigation li a, .builder-module-navigation .current_page_item li a, .builder-module-navigation .current-cat li a {
	text-align: center;
}

Thanks to Ronald. Source: http://ithemes.com/forum/topic/37742-navigation-spread-items-to-length-of-the-nav-bar/#entry173441

How to add a slow transition effect for second level menus in nav bar

Live Demo

Add the following at the end of child theme's functions.php:

// =========================================
// = Smoothen transition of 2nd level menu =
// =========================================

// load javascript in footer
add_action('wp_enqueue_scripts', 'add_my_code_2');
function add_my_code_2() {
	add_action( 'print_footer_scripts', 'print_my_footer_scripts_2' );
}

// Add required javascript to footer (for delayed opening of subnav)
function print_my_footer_scripts_2() { ?>

<script type='text/javascript'>
jQuery(document).ready(function($) {
	    $("#menu-main-menu li").hover(function(){
	    $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
	    },function(){
	    $(this).find('ul:first').css({visibility: "hidden"});
	});

});
</script>

<?php }

where menu-main-menu is the CSS ID of custom menu (usually <ul id="menu-main-menu">) shown in the nav bar. This is entirely arbitrary, and it is highly unlikely that your selectors are the same. You need to adapt the code accordingly.

Alternate Method:

Go to My Theme -> Settings -> Analytics and JavaScript Code. Paste the following in the text area under

"List any JavaScript or other code to be manually inserted inside the site's <head> tag in the input below."

<script type='text/javascript'>
jQuery(document).ready(function($) {
	    $("#menu-main-menu li").hover(function(){
	    $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
	    },function(){
	    $(this).find('ul:first').css({visibility: "hidden"});
	});

});
</script>

where menu-main-menu is the CSS ID of custom menu shown in the nav bar.

Save settings.


Thanks to Ronald. Source: http://ithemes.com/forum/topic/30998-is-it-possible-to-add-a-slow-transition-effect-to-the-navbar/#entry144025

Another similar forum topic: http://ithemes.com/forum/topic/21002-navigation-with-animated-effect/

How to Clear Placeholder Text Upon Focus in Gravity Forms Fields

Gravity Forms - Placeholders add-on plugin can be used to add HTML5 placeholder support to Gravity Forms' fields with a javascript fallback. gplaceholder CSS class should be added to text fields or textareas as needed, or to the form itself to enable this feature to all fields within it.

Ex.:

2013-02-04 20-35-47.png

Now all Gravity Forms' field labels will appear inside the fields as placeholder text.

The placeholder text will continue to appear when clicked or tabbed to inside a field, but will disappear when user starts typing.

If you would like the fields' placeholder text to be cleared when a field gets focus, add the following at the end of child theme's functions.php:

// =========================================
// = Auto hide placeholder text upon focus =
// =========================================

// load javascript in footer
add_action('wp_enqueue_scripts', 'add_my_code_3');

function add_my_code_3() {
    add_action( 'print_footer_scripts', 'my_footer_script_3' );
}

// Add jQuery to footer

function my_footer_script_3() { ?>
    <script type="text/javascript">
        jQuery(document).ready(function($) {
            $('.gform_wrapper').find(':input').each(function() {
                $(this).data('saveplaceholder', $(this).attr('placeholder'));

                $(this).focusin(function() {
                    $(this).attr('placeholder', '');
                });

                $(this).focusout(function() {
                    $(this).attr('placeholder', $(this).data('saveplaceholder'));
                });

            })
        })
    </script>
<?php }

Thanks to Ronald for providing this code here.

Loading Script in Footer on All Pages Except One

Ex.:

/* JMAC script load */
// load jquery and prepare javascript in footer
add_action('wp_enqueue_scripts', 'jmac_scripts_method');
function jmac_scripts_method() {
	wp_enqueue_script('jquery');
    add_action('print_footer_scripts', 'jmac_print_footer_scripts');
}

// Add required javascript to footer
function jmac_print_footer_scripts() { if(!is_page('videoconferencing')) { ?>
	<script type="text/javascript">
		jQuery(document).ready(function($) {
		function toggleVideo(state) {
		    // if state == 'hide', hide. Else: show video
		    var div = document.getElementById("popupVid");
		    var iframe = div.getElementsByTagName("iframe")[0].contentWindow;
		    div.style.display = state == 'hide' ? 'none' : '';
		    func = state == 'hide' ? 'pauseVideo' : 'playVideo';
		    iframe.postMessage('{"event":"command","func":"' + func + '","args":""}','*');
		}

		});
	</script>
<?php
} }
/* JMAC script load end */

Note: The focus of this wiki entry is not what the jQuery code does, but rather the if conditional used:

if(!is_page('videoconferencing'))

where "videoconferencing" is the slug of Page in which jQuery code should NOT be loaded.

Forum topic: http://ithemes.com/forum/topic/33305-script-in-footer-on-all-pages-except-one/

Loading Script in Footer Only on Site's Front Page

Ex.:

// prepare javascript in footer
add_action('wp_enqueue_scripts', 'add_my_script_4');

function add_my_script_4() {
	add_action( 'print_footer_scripts', 'home_page_only_script' );
}


// Add javascript to footer
function home_page_only_script() {
    if ( is_front_page() ) : ?>
        <script type="text/javascript">
        	//your javascript here...
        </script>
	<?php endif;
}

Thanks to Ronald. Source: http://ithemes.com/forum/topic/33473-adding-javascipt-to-home-page/#entry155302

How to Create a "Stay-On-Top" element

Method 1

Live Demos: iThemes.com, WebDesign.com

Standard nav bar

As the user scrolls down..

As user scrolls below past the standard nav bar, it gets replaced by a nav bar in a fixed position at the top of browser. When user scrolls to top, it goes away

1. Identify the selector of the element that you wish to stay on top. Firebug can be used for this.

Ex.: .builder-module-navigation-background-wrapper in case of a navigation module.

2. Add the following at the end of child theme's functions.php (before closing PHP tag, if present):

// =========================================
// = "Stay-On-Top" element =
// =========================================

add_action('wp_enqueue_scripts', 'add_my_code');

function add_my_code() {
    add_action( 'print_footer_scripts', 'my_footer_script' );
}


function my_footer_script() { ?>

  <script type="text/javascript">

    jQuery(function($) {

      var filter = $('.builder-module-navigation-background-wrapper');

      pos = filter.offset();

      var filterSpacer = $('<div />', {
        "class": "filter-drop-spacer",
        "height": filter.outerHeight()
      });

      var fixed = false;

      $(window).scroll(function() {

        if($(this).scrollTop() >= pos.top+filter.height() )

          {
            if( !fixed )
              {
                fixed = true;

                filter.fadeOut('fast', function() {
                  $(this).addClass('fixed').fadeIn('fast');
                  // $('.search_in_nav, .my-social-icons').hide();
                  $(this).before(filterSpacer);
                  });
              }
          }

          else

          {
            if( fixed )
              {
                fixed = false;

                filter.fadeOut('fast', function() {
                  $(this).removeClass('fixed').fadeIn('fast');
                  // $('.search_in_nav, .my-social-icons').show();
                  filterSpacer.remove();
                });
              }
        }
      });

    });

  </script>

<?php }

In the above, enter the selector from step 1 in the following line:

var filter = $('.builder-module-navigation-background-wrapper');

(Optional) If you would like to hide any children of the element in fixed state, specify their selectors in the line below and remove the comment.

// $('.search_in_nav, .my-social-icons').hide();

Remember to do similarly in the line below:

// $('.search_in_nav, .my-social-icons').show();

3. Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

.builder-module-navigation-background-wrapper.fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;

	-webkit-box-shadow: 0 0 40px #222;
	-moz-box-shadow: 0 0 40px #222;
	box-shadow: 0 0 40px #222;

	background: rgba(255, 255, 255, 0.92);
	z-index: 100;
}

.admin-bar .builder-module-navigation-background-wrapper.fixed {
	top: 28px;
}

In the above CSS code, ensure that correct selector is being used.

Source: http://www.1stwebdesigner.com/tutorials/create-stay-on-top-menu-css3-jquery/ and http://ithemes.com/wp-content/themes/iThemes2012/js/ui.js

Method 2: Using Sticky jQuery plugin in iThemes Builder

Below instructions can be used to make nav bar and a widget as sticky (fixed position and always visible) using the Sticky jQuery plugin.


Watch in 1080p HD and in full screen for best viewing experience

Please note that I have tested it only in Builder Default child theme. Numbers in the code and CSS may have to be adjusted for other child themes.

1. Download Sticky jQuery plugin. Extract the zip file and upload jquery.sticky.js to /assets/sticky under site root.

2. Add the following in child theme's functions.php (before closing PHP tag if any):

add_action('wp_enqueue_scripts', 'add_my_code');

function add_my_code() {
	wp_enqueue_script( 'jquery-sticky', get_bloginfo('wpurl') . '/assets/sticky/jquery.sticky.js', array('jquery'), '1.0', true );
    add_action( 'print_footer_scripts', 'my_footer_script' );
}

function my_footer_script() { ?>


    <?php if(is_admin_bar_showing()) : ?>
	    <script type="text/javascript">
	    	jQuery(function($) {
            $(".builder-module-navigation").sticky({topSpacing: 28, getWidthFrom: ".builder-module-navigation-outer-wrapper"});
            $("#meta-5").sticky({topSpacing: 64});
        });
	    </script>

	<?php else : ?>

	    <script type="text/javascript">
	        jQuery(function($) {
	            $(".builder-module-navigation").sticky({topSpacing: 0, getWidthFrom: ".builder-module-navigation-outer-wrapper"});
	            $("#meta-5").sticky({topSpacing: 36});
	        });
	    </script>

    <?php endif;


} ?>

In the above,

a) replace meta-5 with the ID of widget that you would like to make sticky.

b) replace 36 with height of nav bar

c) replace 64 with height of nav bar + 28

3. Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

.sticky-wrapper.is-sticky .builder-module-navigation {
	border-bottom: 1px solid #d6d6d6;
	box-shadow: 0px 0px 16px rgba(0,0,0,0.1);
}

.builder-module-content .widget {
	background: #DDD;
	border-bottom: 3px solid #F1F0F0;
	width: 264px !important;
}

In the above replace 264 with width of widget w/o left and right padding.

How to Style All First Words of Widget Titles Differently

Screen Shot 2013-03-20 at 9.31.42 AM.png

1. Add the following in child theme's functions.php (before closing PHP tag if any):

// ==================================================
// = Assign a Class to First Word of Widget Titles =
// ==================================================

// load javascript in footer

add_action('wp_enqueue_scripts', 'add_my_code');

function add_my_code() {
	add_action( 'print_footer_scripts', 'my_footer_script' );
}

// Add jQuery to footer

function my_footer_script() { ?>

    <script type="text/javascript">
    	jQuery(function($) {

			$('.builder-module-sidebar h4.widget-title').each(function() {
			   var h = $(this).html();
			   var index = h.indexOf(' ');
			   if(index == -1) {
			       index = h.length;
			   }
			   $(this).html('<span class="widget-title-first-word">' + h.substring(0, index) + '</span>' + h.substring(index, h.length));
			});

    	});
    </script>

<?php }

2. Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

/****************************************************
    Styling First Word of Widget Titles
*****************************************************/

.widget-title-first-word {
    color: red;
}

Source: http://blog.codez.in/jquery-css-styling-first-word-of-a-text-differently/jquery/2010/08/23

How to incorporate jQuery Kwicks Accordion in Builder

See this forum post.

Animated Responsive Image Grid

Below is how I implemented a jQuery plugin by codrops in WordPress for creating a responsive image grid that will switch images using different animations and timings.

Live Demo

1. Downloaded source, extracted zip file and uploaded the AnimatedResponsiveImageGrid folder to /assets

2013-04-10 14-17-19.png

2. Added the following at the end of child theme's functions.php:


// =========================================
// = My Changes Below =
// =========================================


// load javascript and styles in footer or head

// only on http://websitesetuppro.com/demos/builder-responsive/animated-responsive-image-grid/
add_action('wp_enqueue_scripts', 'AnimatedResponsiveImageGrid_code');

function AnimatedResponsiveImageGrid_code() {
    if(is_page( '1155' )) {
    	wp_enqueue_script( 'modernizr', get_bloginfo('wpurl') . '/assets/AnimatedResponsiveImageGrid/js/modernizr.custom.26633.js', '2.6.2', false ); /* in head */
        wp_enqueue_script( 'AnimatedResponsiveImageGrid', get_bloginfo('wpurl') . '/assets/AnimatedResponsiveImageGrid/js/jquery.gridrotator.js', array('jquery'), true );

        wp_enqueue_style( 'AnimatedResponsiveImageGrid-style', get_bloginfo('wpurl') . '/assets/AnimatedResponsiveImageGrid/css/style.css' );
    }
}



add_action('wp_enqueue_scripts', 'add_my_code');

function add_my_code() {

    add_action( 'print_footer_scripts', 'my_footer_script' );
}

// Add jQuery to footer

function my_footer_script() { ?>


    <!-- only on http://websitesetuppro.com/demos/builder-responsive/animated-responsive-image-grid/ -->
    <?php if(is_page( '1155' )) { ?>
    <script type="text/javascript">
        jQuery(function($) {
            $( '#ri-grid' ).gridrotator( {
				w320 : {
					rows : 3,
					columns : 4
				},
				w240 : {
					rows : 3,
					columns : 3
				}
			} );

			$( '#ri-grid-2' ).gridrotator( {
				rows		: 3,
				columns		: 15,
				animType	: 'fadeInOut',
				animSpeed	: 1000,
				interval	: 600,
				step		: 1,
				w320		: {
					rows	: 3,
					columns	: 4
				},
				w240		: {
					rows	: 3,
					columns	: 4
				}
			} );
        });
    </script>
    <?php }


}

3.

a) Placed this (in Text view) in "Animated Responsive Image Grid" Page:

<h2>Demo 1: Random animations / 55% container width / 3s between switching</h2>

<div id="ri-grid" class="ri-grid ri-grid-size-1 ri-shadow">
	<img class="ri-loading-image" src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/loading.gif"/>
	<ul>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/1.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/2.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/3.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/4.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/5.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/6.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/7.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/8.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/9.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/10.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/11.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/12.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/13.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/14.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/15.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/16.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/17.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/18.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/19.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/20.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/21.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/22.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/23.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/24.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/25.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/26.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/27.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/28.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/29.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/30.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/31.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/32.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/33.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/34.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/35.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/36.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/37.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/38.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/39.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/40.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/41.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/42.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/43.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/44.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/45.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/46.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/47.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/48.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/49.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/50.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/51.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/52.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/53.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/54.jpg"/></a></li>
	</ul>
</div>

b) Placed this in HTML module below the content module in layout used by that Page:

<h2 style="margin-left: 1em; margin-right: 1em;">Demo 2: "fadeInOut" animation / 100% container width / 1 image switch at a time / 600ms between switching</h2>

<div id="ri-grid-2" class="ri-grid ri-grid-size-2">
	<img class="ri-loading-image" src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/loading.gif"/>
	<ul>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/1.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/2.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/3.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/4.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/5.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/6.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/7.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/8.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/9.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/10.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/11.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/12.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/13.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/14.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/15.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/16.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/17.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/18.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/19.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/20.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/21.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/22.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/23.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/24.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/25.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/26.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/27.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/28.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/29.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/30.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/31.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/32.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/33.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/34.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/35.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/36.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/37.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/38.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/39.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/40.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/41.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/42.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/43.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/44.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/45.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/46.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/47.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/48.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/49.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/50.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/51.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/52.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/53.jpg"/></a></li>
		<li><a href="#"><img src="http://websitesetuppro.com/demos/builder-responsive/assets/AnimatedResponsiveImageGrid/images/medium/54.jpg"/></a></li>
	</ul>
				</div>

4. Added the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

/* http://websitesetuppro.com/demos/builder-responsive/animated-responsive-image-grid/ */

.ri-grid-size-1 {
    width: 90% !important;
}

.ri-grid ul li,
.ri-grid ul li a {
    width: 98px !important;
    height: 97px !important;
}

#builder-module-516519f61bcba-outer-wrapper {
    max-width: 100% !important;
}

#ri-grid-2 ul li,
#ri-grid-2 ul li a {
    width: 94px !important;
    height: 94px !important;
}

.page-id-1155 .builder-module-content .builder-module-element {
	margin-bottom: 0 !important;
}

.page-id-1155 .hentry {
	margin-bottom: 0;
}

Easy Accordion jQuery plugin in iThemes Builder

Live Demo [Note: Due to differences in CSS properties like font sizes between child themes and other minor customizations, the demo (which uses Air child theme) looks slightly different than the screenshot below, which was taken in Default child theme]

Easy Accordion Test Page - WordPress Dev Site 2013-04-30 13-03-49.png

Easy Accordion is a jQuery plugin to create a horizontal accordion and is a free alternative to Slidedeck.

The following steps outline how the plugin's demo can be set up in a WordPress site running iThemes Builder. Once you have the following working, you can then edit the HTML, javascript parameters and CSS to suit your needs.

1. Download the full sample zip file from here under the Conclusion section. Extract the zip file and upload the resulting jQuery-easyAccordion folder to assets directory under your site's root.

2. Upload all the contents of jQuery-easyAccordion/images folder to active child theme's images directory.

3. Wherever you want the Easy Accordion to appear (in a Page or Post or HTML module etc), paste the following:

<div class="sample">
        <h1>jQuery Easy Accordion Plugin</h1>
        
        <h2>Horizontal Accordion with Autoplay</h2>
        <p>Set the '<strong>autoStart</strong>' parameter to '<strong>true</strong>' to get a timed slideshow. You can also define the interval between each slide in milliseconds using the '<strong>slideInterval</strong>' parameter.</p>
        <div id="accordion-1">
            <dl>
                <dt>First slide</dt>
                <dd><h2>This is the first slide</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img1.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
                <dt>Second slide</dt>
                <dd><h2>Here is the second slide</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img2.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
                <dt>One more slide</dt>
                <dd><h2>One more slide to go here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img3.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
                <dt>Another slide</dt>
                <dd><h2>Another slide to go here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img4.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
                <dt>Wow one more</dt>
                <dd><h2>Unbilievable one more slide here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img5.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
                <dt>Last one</dt>
                <dd><h2>This is definitely the last one</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/monsters/img6.png" alt="Alt text to go here" />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, enim.<br /><a href="#" class="more">Read more</a></p></dd>
            </dl>
        </div>
        
        <h2>Simple Horizontal Accordion</h2>
        <p>If you don't specify the '<strong>autoStart</strong>' parameter or if you set it to '<strong>false</strong>' you get a simple slideshow.</p>

        <div id="accordion-2">
            <dl>
                <dt>Slide title</dt>
                <dd><h2>First mammoth here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/mammoths/img1.png" alt="Alt text to go here" />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean commodo ligula eget dolor.</p></dd>
                <dt>Another slide</dt>
                <dd><h2>Over the moon!</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/mammoths/img2.png" alt="Alt text to go here" />Aenean commodo ligula eget dolor. Aenean massa. Nascetur aenean commodo ligula eget dolor. Aenean massa eget. </p></dd>
                <dt>Third slide</dt>
                <dd><h2>Another mammoth</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/mammoths/img3.png" alt="Alt text to go here" />Ipsum dolor sit amet.Aenean ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur.</p></dd>
                <dt>Last slide</dt>
                <dd><h2>This is my favourite</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/mammoths/img4.png" alt="Alt text to go here" />Cum sociis natoque penatibus et donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p></dd>
           </dl>
        </div>
        
        <h2>Set the initial Active Slide</h2>
        <p>You can easily set the <strong>initial active slide</strong> by adding the '<strong>active</strong>' class to the respective DT element.
        <br />Notice that you could also remove the slide number by setting the '<strong>slideNum</strong>' parameter to '<strong>false</strong>'.</p>
        <div id="accordion-3">
            <dl>
                <dt>Slide title</dt>
                <dd><h2>First slide here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/bugs/img2.png" alt="Alt text to go here" />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean commodo ligula eget dolor.</p></dd>
                <dt>Another slide</dt>
                <dd><h2>Title to go here</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/bugs/img4.png" alt="Alt text to go here" />Aenean commodo ligula eget dolor. Aenean massa. Nascetur aenean commodo ligula eget dolor. Aenean massa eget. </p></dd>
                <dt class="active">Third slide</dt>
                <dd><h2>Here is the title</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/bugs/img1.png" alt="Alt text to go here" />Ipsum dolor sit amet.Aenean ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur.</p></dd>
                <dt>Last slide</dt>
                <dd><h2>Last slide title</h2><p><img src="http://buildersnippets.com/assets/jQuery-easyAccordion/images/bugs/img3.png" alt="Alt text to go here" />Cum sociis natoque penatibus et donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p></dd>
           </dl>
        </div>

        <p><a href="http://www.madeincima.eu/blog/jquery-plugin-easy-accordion/">Go back to the post!</a></p>
    </div>

In the case of my demo, the above code has been placed in a static Page.

4. Add the following in child theme's functions.php before closing PHP tag (if any):

// load javascript and styles in footer or header

// only on http://buildersnippets.com/easy-accordion-test-page/
add_action('wp_enqueue_scripts', 'easyAccordion_code');

function easyAccordion_code() {
    if(is_page( '127' )) {
        wp_enqueue_script( 'easyAccordion', get_bloginfo('wpurl') . '/assets/jQuery-easyAccordion/scripts/jquery.easyAccordion.js', array('jquery'), '0.1', true );

        wp_enqueue_style( 'easy-accordion', get_bloginfo('wpurl') . '/assets/jQuery-easyAccordion/css/styles.css' );
    }
}


add_action('wp_enqueue_scripts', 'add_my_code_ea');

function add_my_code_ea() {

    add_action( 'print_footer_scripts', 'my_footer_script_ea' );
}

// Add jQuery to footer

function my_footer_script_ea() { ?>


    <!-- only on http://buildersnippets.com/easy-accordion-test-page/ -->
    <?php if(is_page( '127' )) { ?>
    <script type="text/javascript">
        var accordion;
        jQuery(function($) {
        	$('#accordion-1').easyAccordion({
				autoStart: true,
				slideInterval: 3000
			});

			$('#accordion-2').easyAccordion({
				autoStart: false
			});

			$('#accordion-3').easyAccordion({
				autoStart: true,
				slideInterval: 5000,
				slideNum:false
			});

			$('#accordion-4').easyAccordion({
				autoStart: false,
				slideInterval: 5000
			});
        });
    </script>
    <?php }


}

The if(is_page( '127' )) conditional is in place to ensure that javascript is loaded and called only where needed (in this case, a specific Page vs site-wide). You would need to either change the ID or remove the conditional to suit your needs.

5. Add the following at the end of child theme's style.css (WP dashboard -> Appearance -> Editor):

/* Easy Accordion Styling */

.sample{border:1px solid #92cdec;background:#d7e7ff;padding:30px}
.easy-accordion h2{margin:0px 0 20px 0;padding:0;font-size:1.6em;}

dd p{line-height:120%}

#accordion-1{width:800px;height:245px;padding:30px;background:#fff;border:1px solid #b5c9e8}
#accordion-1 dl{width:800px;height:245px}
#accordion-1 dt{height:46px;line-height:44px;text-align:right;padding:0 15px 0 0;font-size:1.1em;font-weight:bold;font-family: Tahoma, Geneva, sans-serif;text-transform:uppercase;letter-spacing:1px;background:#fff url(images/slide-title-inactive-1.jpg) 0 0 no-repeat;color:#26526c}
#accordion-1 dt.active{cursor:pointer;color:#fff;background:#fff url(images/slide-title-active-1.jpg) 0 0 no-repeat}
#accordion-1 dt.hover{color:#68889b;}
#accordion-1 dt.active.hover{color:#fff}
#accordion-1 dd{padding:25px;background:url(images/slide.jpg) bottom left repeat-x;border:1px solid #dbe9ea;border-left:0;margin-right:3px}
#accordion-1 .slide-number{color:#68889b;left:10px;font-weight:bold}
#accordion-1 .active .slide-number{color:#fff;}
#accordion-1 a{color:#68889b}
#accordion-1 dd img{float:right;margin:0 0 0 30px;}
#accordion-1 h2{font-size:2.5em;margin-top:10px}
#accordion-1 .more{padding-top:10px;display:block}

#accordion-2{width:700px;height:195px;padding:30px;background:#fff;border:1px solid #b5c9e8}
#accordion-2 h2{font-size:2.5em;margin-top:10px;}
#accordion-2 dl{width:700px;height:195px}
#accordion-2 dt{height:56px;line-height:44px;text-align:right;padding:10px 15px 0 0;font-size:1.1em;font-weight:bold;font-family: Tahoma, Geneva, sans-serif;text-transform:uppercase;letter-spacing:1px;background:#fff url(images/slide-title-inactive-2.jpg) 0 0 no-repeat;color:#26526c}
#accordion-2 dt.active{cursor:pointer;color:#fff;background:#fff url(images/slide-title-active-2.jpg) 0 0 no-repeat}
#accordion-2 dt.hover{color:#68889b;}
#accordion-2 dt.active.hover{color:#fff}
#accordion-2 dd{padding:25px;background:url(images/slide.jpg) bottom left repeat-x;border:1px solid #dbe9ea;border-left:0;margin-right:3px}
#accordion-2 .slide-number{color:#68889b;left:10px;font-weight:bold}
#accordion-2 .active .slide-number{color:#fff}
#accordion-2 a{color:#68889b}
#accordion-2 dd img{float:right;margin:0 0 0 30px;position:relative;top:-20px}

#accordion-3{width:700px;height:195px;padding:30px;background:#fff;border:1px solid #b5c9e8}
#accordion-3 h2{font-size:2.5em;margin-top:10px}
#accordion-3 dl{width:700px;height:195px}
#accordion-3 dt{height:56px;line-height:44px;text-align:right;padding:10px 15px 0 0;font-size:1.1em;font-weight:bold;font-family: Tahoma, Geneva, sans-serif;text-transform:uppercase;letter-spacing:1px;background:#fff url(images/slide-title-inactive-2.jpg) 0 0 no-repeat;color:#26526c}
#accordion-3 dt.active{cursor:pointer;color:#fff;background:#fff url(images/slide-title-active-2.jpg) 0 0 no-repeat}
#accordion-3 dt.hover{color:#68889b;}
#accordion-3 dt.active.hover{color:#fff}
#accordion-3 dd{padding:25px;background:url(images/slide.jpg) bottom left repeat-x;border:1px solid #dbe9ea;border-left:0;margin-right:3px}
#accordion-3 .slide-number{color:#68889b;left:13px;font-weight:bold}
#accordion-3 .active .slide-number{color:#fff}
#accordion-3 a{color:#68889b}
#accordion-3 dd img{float:right;margin:0 0 0 30px;position:relative;top:-20px}

.sample h1 {
	margin-top: 0;
	line-height: 1;
}

.hentry .easy-accordion img {
	background: none;
	border: none;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	padding: 0;
}

.easy-accordion h2 {
	line-height: 1;
	margin-top: 0;
}


See also


← Back to Builder Codex Home

Personal tools
Namespaces
Variants
Actions
iThemes Codex
Codex Navigation
Toolbox