Version Description
- Added: Auto-expand now independent of save state option
Download this release
Release Info
Developer | remix4 |
Plugin | JQuery Accordion Menu Widget |
Version | 2.5 |
Comparing to | |
See all releases |
Code changes from version 2.4 to 2.5
dcwp_jquery_accordion.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
Tags: jquery, dropdown, menu, vertical accordion, animated, css, navigation, accordion
|
6 |
Description: Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery. Features include - handles multiple levels, saved state using cookies and option of selecting "click" or "hover" events for triggering the menu.
|
7 |
Author: Lee Chestnutt
|
8 |
-
Version: 2.
|
9 |
Author URI: http://www.designchemical.com
|
10 |
*/
|
11 |
|
@@ -24,7 +24,7 @@ class dc_jqaccordion {
|
|
24 |
wp_enqueue_script( 'jquery' );
|
25 |
wp_enqueue_script( 'jqueryhoverintent', dc_jqaccordion::get_plugin_directory() . '/js/jquery.hoverIntent.minified.js', array('jquery') );
|
26 |
wp_enqueue_script( 'jquerycookie', dc_jqaccordion::get_plugin_directory() . '/js/jquery.cookie.js', array('jquery') );
|
27 |
-
wp_enqueue_script( 'dcjqaccordion', dc_jqaccordion::get_plugin_directory() . '/js/jquery.dcjqaccordion.2.
|
28 |
}
|
29 |
add_action( 'wp_footer', array('dc_jqaccordion', 'footer') );
|
30 |
|
5 |
Tags: jquery, dropdown, menu, vertical accordion, animated, css, navigation, accordion
|
6 |
Description: Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery. Features include - handles multiple levels, saved state using cookies and option of selecting "click" or "hover" events for triggering the menu.
|
7 |
Author: Lee Chestnutt
|
8 |
+
Version: 2.5
|
9 |
Author URI: http://www.designchemical.com
|
10 |
*/
|
11 |
|
24 |
wp_enqueue_script( 'jquery' );
|
25 |
wp_enqueue_script( 'jqueryhoverintent', dc_jqaccordion::get_plugin_directory() . '/js/jquery.hoverIntent.minified.js', array('jquery') );
|
26 |
wp_enqueue_script( 'jquerycookie', dc_jqaccordion::get_plugin_directory() . '/js/jquery.cookie.js', array('jquery') );
|
27 |
+
wp_enqueue_script( 'dcjqaccordion', dc_jqaccordion::get_plugin_directory() . '/js/jquery.dcjqaccordion.2.6.js', array('jquery') );
|
28 |
}
|
29 |
add_action( 'wp_footer', array('dc_jqaccordion', 'footer') );
|
30 |
|
js/{jquery.dcjqaccordion.2.5.js → jquery.dcjqaccordion.2.6.js}
RENAMED
@@ -26,11 +26,14 @@
|
|
26 |
};
|
27 |
//call in the default otions
|
28 |
var options = $.extend(defaults, options);
|
29 |
-
|
30 |
-
|
31 |
setUpAccordion();
|
32 |
if(defaults.saveState == true){
|
33 |
-
checkCookie(defaults.cookie,
|
|
|
|
|
|
|
34 |
}
|
35 |
resetAccordion();
|
36 |
if(defaults.eventType == 'hover'){
|
@@ -41,7 +44,7 @@
|
|
41 |
timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
|
42 |
out: linkOut // function = onMouseOut callback (REQUIRED)
|
43 |
};
|
44 |
-
$('li a'
|
45 |
var configMenu = {
|
46 |
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
|
47 |
interval: 1000, // number = milliseconds for onMouseOver polling interval
|
@@ -49,17 +52,17 @@
|
|
49 |
timeout: 1000, // number = milliseconds delay before onMouseOut
|
50 |
out: menuOut // function = onMouseOut callback (REQUIRED)
|
51 |
};
|
52 |
-
$(
|
53 |
// Disable parent links
|
54 |
if(defaults.disableLink == true){
|
55 |
-
$('li a'
|
56 |
if($(this).siblings('ul').length >0){
|
57 |
e.preventDefault();
|
58 |
}
|
59 |
});
|
60 |
}
|
61 |
} else {
|
62 |
-
$('li a'
|
63 |
$activeLi = $(this).parent('li');
|
64 |
$parentsLi = $activeLi.parents('li');
|
65 |
$parentsUl = $activeLi.parents('ul');
|
@@ -82,62 +85,79 @@
|
|
82 |
}
|
83 |
// Write cookie if save state is on
|
84 |
if(defaults.saveState == true){
|
85 |
-
createCookie(defaults.cookie,
|
86 |
}
|
87 |
});
|
88 |
}
|
89 |
// Set up accordion
|
90 |
function setUpAccordion(){
|
91 |
$arrow = '<span class="'+defaults.classArrow+'"></span>';
|
92 |
-
$('> ul'
|
93 |
-
$('li'
|
94 |
var classParentLi = defaults.classParent+'-li';
|
95 |
if($('> ul',this).length > 0){
|
96 |
$('> a',this).addClass(defaults.classParent).append($arrow);
|
97 |
}
|
98 |
});
|
99 |
-
$('> ul'
|
100 |
}
|
101 |
-
|
102 |
-
|
|
|
103 |
$activeLi = $(this).parent('li');
|
104 |
$parentsLi = $activeLi.parents('li');
|
105 |
-
$parentsUl = $activeLi.parents('ul');
|
|
|
106 |
// Auto close sibling menus
|
107 |
if(defaults.autoClose == true){
|
108 |
-
autoCloseAccordion($parentsLi, $parentsUl);
|
109 |
-
|
|
|
|
|
110 |
if ($('> ul',$activeLi).is(':visible')){
|
111 |
$('ul',$activeLi).slideUp(defaults.speed);
|
112 |
$('a',$activeLi).removeClass(defaults.classActive);
|
113 |
} else {
|
114 |
$(this).siblings('ul').slideToggle(defaults.speed);
|
115 |
$('> a',$activeLi).addClass(defaults.classActive);
|
116 |
-
}
|
|
|
117 |
// Write cookie if save state is on
|
118 |
if(defaults.saveState == true){
|
119 |
-
createCookie(defaults.cookie,
|
120 |
}
|
121 |
-
}
|
|
|
122 |
function linkOut(){
|
123 |
-
}
|
|
|
124 |
function menuOver(){
|
125 |
-
}
|
126 |
-
|
|
|
|
|
127 |
if(defaults.menuClose == true){
|
128 |
-
$('ul'
|
129 |
// Reset active links
|
130 |
-
$('a'
|
131 |
-
createCookie(defaults.cookie,
|
132 |
}
|
133 |
-
}
|
|
|
134 |
// Auto-Close Open Menu Items
|
135 |
function autoCloseAccordion($parentsLi, $parentsUl){
|
136 |
-
$('ul'
|
137 |
// Reset active links
|
138 |
-
$('a'
|
139 |
$('> a',$parentsLi).addClass(defaults.classActive);
|
140 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
// Retrieve cookie value and set active items
|
142 |
function checkCookie(cookieId, obj){
|
143 |
var cookieVal = $.cookie(cookieId);
|
@@ -151,15 +171,6 @@
|
|
151 |
$('> a',$parentsLi).addClass(defaults.classActive);
|
152 |
});
|
153 |
}
|
154 |
-
if(defaults.autoExpand == true){
|
155 |
-
$('li.'+defaults.classExpand+' > a').addClass(defaults.classActive);
|
156 |
-
}
|
157 |
-
}
|
158 |
-
// Reset accordion using active links
|
159 |
-
function resetAccordion(){
|
160 |
-
$('ul',$dcAccordionObj).hide();
|
161 |
-
$allActiveLi = $('a.'+defaults.classActive,$dcAccordionObj);
|
162 |
-
$allActiveLi.siblings('ul').show();
|
163 |
}
|
164 |
// Write cookie
|
165 |
function createCookie(cookieId, obj){
|
26 |
};
|
27 |
//call in the default otions
|
28 |
var options = $.extend(defaults, options);
|
29 |
+
this.each(function(options){
|
30 |
+
var obj = this;
|
31 |
setUpAccordion();
|
32 |
if(defaults.saveState == true){
|
33 |
+
checkCookie(defaults.cookie, obj);
|
34 |
+
}
|
35 |
+
if(defaults.autoExpand == true){
|
36 |
+
$('li.'+defaults.classExpand+' > a').addClass(defaults.classActive);
|
37 |
}
|
38 |
resetAccordion();
|
39 |
if(defaults.eventType == 'hover'){
|
44 |
timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
|
45 |
out: linkOut // function = onMouseOut callback (REQUIRED)
|
46 |
};
|
47 |
+
$('li a',obj).hoverIntent(config);
|
48 |
var configMenu = {
|
49 |
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
|
50 |
interval: 1000, // number = milliseconds for onMouseOver polling interval
|
52 |
timeout: 1000, // number = milliseconds delay before onMouseOut
|
53 |
out: menuOut // function = onMouseOut callback (REQUIRED)
|
54 |
};
|
55 |
+
$(obj).hoverIntent(configMenu);
|
56 |
// Disable parent links
|
57 |
if(defaults.disableLink == true){
|
58 |
+
$('li a',obj).click(function(e){
|
59 |
if($(this).siblings('ul').length >0){
|
60 |
e.preventDefault();
|
61 |
}
|
62 |
});
|
63 |
}
|
64 |
} else {
|
65 |
+
$('li a',obj).click(function(e){
|
66 |
$activeLi = $(this).parent('li');
|
67 |
$parentsLi = $activeLi.parents('li');
|
68 |
$parentsUl = $activeLi.parents('ul');
|
85 |
}
|
86 |
// Write cookie if save state is on
|
87 |
if(defaults.saveState == true){
|
88 |
+
createCookie(defaults.cookie, obj);
|
89 |
}
|
90 |
});
|
91 |
}
|
92 |
// Set up accordion
|
93 |
function setUpAccordion(){
|
94 |
$arrow = '<span class="'+defaults.classArrow+'"></span>';
|
95 |
+
$('> ul',obj).show();
|
96 |
+
$('li',obj).each(function(){
|
97 |
var classParentLi = defaults.classParent+'-li';
|
98 |
if($('> ul',this).length > 0){
|
99 |
$('> a',this).addClass(defaults.classParent).append($arrow);
|
100 |
}
|
101 |
});
|
102 |
+
$('> ul',obj).hide();
|
103 |
}
|
104 |
+
|
105 |
+
function linkOver(){
|
106 |
+
|
107 |
$activeLi = $(this).parent('li');
|
108 |
$parentsLi = $activeLi.parents('li');
|
109 |
+
$parentsUl = $activeLi.parents('ul');
|
110 |
+
|
111 |
// Auto close sibling menus
|
112 |
if(defaults.autoClose == true){
|
113 |
+
autoCloseAccordion($parentsLi, $parentsUl);
|
114 |
+
|
115 |
+
}
|
116 |
+
|
117 |
if ($('> ul',$activeLi).is(':visible')){
|
118 |
$('ul',$activeLi).slideUp(defaults.speed);
|
119 |
$('a',$activeLi).removeClass(defaults.classActive);
|
120 |
} else {
|
121 |
$(this).siblings('ul').slideToggle(defaults.speed);
|
122 |
$('> a',$activeLi).addClass(defaults.classActive);
|
123 |
+
}
|
124 |
+
|
125 |
// Write cookie if save state is on
|
126 |
if(defaults.saveState == true){
|
127 |
+
createCookie(defaults.cookie, obj);
|
128 |
}
|
129 |
+
}
|
130 |
+
|
131 |
function linkOut(){
|
132 |
+
}
|
133 |
+
|
134 |
function menuOver(){
|
135 |
+
}
|
136 |
+
|
137 |
+
function menuOut(){
|
138 |
+
|
139 |
if(defaults.menuClose == true){
|
140 |
+
$('ul',obj).slideUp(defaults.speed);
|
141 |
// Reset active links
|
142 |
+
$('a',obj).removeClass(defaults.classActive);
|
143 |
+
createCookie(defaults.cookie, obj);
|
144 |
}
|
145 |
+
}
|
146 |
+
|
147 |
// Auto-Close Open Menu Items
|
148 |
function autoCloseAccordion($parentsLi, $parentsUl){
|
149 |
+
$('ul',obj).not($parentsUl).slideUp(defaults.speed);
|
150 |
// Reset active links
|
151 |
+
$('a',obj).removeClass(defaults.classActive);
|
152 |
$('> a',$parentsLi).addClass(defaults.classActive);
|
153 |
+
}
|
154 |
+
// Reset accordion using active links
|
155 |
+
function resetAccordion(){
|
156 |
+
$('ul',obj).hide();
|
157 |
+
$allActiveLi = $('a.'+defaults.classActive,obj);
|
158 |
+
$allActiveLi.siblings('ul').show();
|
159 |
+
}
|
160 |
+
});
|
161 |
// Retrieve cookie value and set active items
|
162 |
function checkCookie(cookieId, obj){
|
163 |
var cookieVal = $.cookie(cookieId);
|
171 |
$('> a',$parentsLi).addClass(defaults.classActive);
|
172 |
});
|
173 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
175 |
// Write cookie
|
176 |
function createCookie(cookieId, obj){
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.designchemical.com
|
|
4 |
Tags: jquery, dropdown, menu, vertical accordion, animated, css, navigation, widget
|
5 |
Requires at least: 3.0
|
6 |
Tested up to: 3.1
|
7 |
-
Stable tag: 2.
|
8 |
|
9 |
Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery.
|
10 |
|
@@ -19,7 +19,7 @@ The widget has several parameters that can be configured to help cutomise the ve
|
|
19 |
* Click/Hover - Selects the event type that will trigger the menu to open/close
|
20 |
* Auto-close open menus - If checked this will allow only one menu item to be expanded at any time. Clicking on a new menu item will automatically close the previous one.
|
21 |
* Save menu state (uses cookies) - Selecting this will allow the menu to remember its open/close state when browsing to a new page.
|
22 |
-
* Auto Expand Based on Current Page/Item
|
23 |
* Disable parent links - If selected, any menu items that have child elements will have their links disabled and will only open/close their relevant sub-menus. Do not select this if you want the user to still be able to browse to that item's page.
|
24 |
* Close menu (hover only) - If checked the menu will automatically fully close after 1 second when the mouse moves off the menu - only available if event type is "hover"
|
25 |
* Show Count - If checked the menu will automatically add a count showing the number of links under each parent menu item
|
@@ -55,6 +55,9 @@ Another likely cause is due to other non-functioning plugins, which may have err
|
|
55 |
|
56 |
== Changelog ==
|
57 |
|
|
|
|
|
|
|
58 |
= 2.4 =
|
59 |
* Added: Ability to auto-expand menu based on the Wordpress current page/menu item classes
|
60 |
|
4 |
Tags: jquery, dropdown, menu, vertical accordion, animated, css, navigation, widget
|
5 |
Requires at least: 3.0
|
6 |
Tested up to: 3.1
|
7 |
+
Stable tag: 2.5
|
8 |
|
9 |
Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery.
|
10 |
|
19 |
* Click/Hover - Selects the event type that will trigger the menu to open/close
|
20 |
* Auto-close open menus - If checked this will allow only one menu item to be expanded at any time. Clicking on a new menu item will automatically close the previous one.
|
21 |
* Save menu state (uses cookies) - Selecting this will allow the menu to remember its open/close state when browsing to a new page.
|
22 |
+
* Auto Expand Based on Current Page/Item - If checked, this option will automatically expand sub-menus based on the current page/post based on the inherent Wordpress custom menu css classes - e.g. select this option if you would like the menu to automatically expand when the user clicks a link other than the accordion menu.
|
23 |
* Disable parent links - If selected, any menu items that have child elements will have their links disabled and will only open/close their relevant sub-menus. Do not select this if you want the user to still be able to browse to that item's page.
|
24 |
* Close menu (hover only) - If checked the menu will automatically fully close after 1 second when the mouse moves off the menu - only available if event type is "hover"
|
25 |
* Show Count - If checked the menu will automatically add a count showing the number of links under each parent menu item
|
55 |
|
56 |
== Changelog ==
|
57 |
|
58 |
+
= 2.5 =
|
59 |
+
* Added: Auto-expand now independent of save state option
|
60 |
+
|
61 |
= 2.4 =
|
62 |
* Added: Ability to auto-expand menu based on the Wordpress current page/menu item classes
|
63 |
|