JQuery Accordion Menu Widget - Version 2.6

Version Description

  • Added: Ability to disable parent menu items using a CSS class
  • Added: Ability to set menu CSS Class - default "menu"
  • Update: Revision to auto-expand system
  • Update: jquery.dcjqaccordion.2.8.js
Download this release

Release Info

Developer remix4
Plugin Icon wp plugin JQuery Accordion Menu Widget
Version 2.6
Comparing to
See all releases

Code changes from version 2.5.4 to 2.6

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.5.4
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.7.js', array('jquery') );
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.6
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.8.js', array('jquery') );
28
}
29
add_action( 'wp_footer', array('dc_jqaccordion', 'footer') );
30
dcwp_jquery_accordion_widget.php CHANGED
@@ -34,6 +34,8 @@ class dc_jqaccordion_widget extends WP_Widget {
34
'showCount' => 'off',
35
'speed' => 'slow',
36
'disableLink' => 'on',
37
'skin' => 'demo.css'
38
);
39
}
@@ -53,6 +55,8 @@ class dc_jqaccordion_widget extends WP_Widget {
53
return;
54
55
$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
56
57
echo $args['before_widget'];
58
@@ -64,7 +68,14 @@ class dc_jqaccordion_widget extends WP_Widget {
64
<div class="dcjq-accordion" id="<?php echo $this->id.'-item'; ?>">
65
66
<?php
67
- wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu, 'container' => false ) );
68
?>
69
70
</div>
@@ -82,6 +93,8 @@ class dc_jqaccordion_widget extends WP_Widget {
82
$instance['saveState'] = $new_instance['saveState'];
83
$instance['autoExpand'] = $new_instance['autoExpand'];
84
$instance['disableLink'] = $new_instance['disableLink'];
85
$instance['showCount'] = $new_instance['showCount'];
86
$instance['event'] = strip_tags( stripslashes($new_instance['event']) );
87
$instance['skin'] = $new_instance['skin'];
@@ -99,6 +112,8 @@ class dc_jqaccordion_widget extends WP_Widget {
99
if(! isset($instance['saveState']) ){ $instance['saveState'] = 'false'; }
100
if(! isset($instance['menuClose']) ){ $instance['menuClose'] = 'false'; }
101
if(! isset($instance['disableLink']) ){ $instance['disableLink'] = 'false'; }
102
if(! isset($instance['autoExpand']) ){ $instance['autoExpand'] = 'false'; }
103
if(! isset($instance['showCount']) ){ $instance['showCount'] = 'false'; }
104
$event = isset( $instance['event'] ) ? $instance['event'] : '';
@@ -120,7 +135,7 @@ class dc_jqaccordion_widget extends WP_Widget {
120
?>
121
<p>
122
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:') ?></label>
123
- <input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo $title; ?>" />
124
</p>
125
<p>
126
<label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:'); ?></label>
@@ -156,7 +171,15 @@ class dc_jqaccordion_widget extends WP_Widget {
156
<label for="<?php echo $this->get_field_id('menuClose'); ?>"><?php _e( 'Close Menu (hover only)' , 'dcjq-accordion' ); ?></label><br />
157
158
<input type="checkbox" value="true" class="checkbox" id="<?php echo $this->get_field_id('showCount'); ?>" name="<?php echo $this->get_field_name('showCount'); ?>"<?php checked( $showCount, 'true' ); ?> />
159
- <label for="<?php echo $this->get_field_id('showCount'); ?>"><?php _e( 'Show Count' , 'dcjq-accordion' ); ?></label><br />
160
</p>
161
<p>
162
<label for="<?php echo $this->get_field_id('hoverDelay'); ?>"><?php _e('Hover Delay:', 'dcjq-accordion'); ?>
@@ -213,9 +236,10 @@ class dc_jqaccordion_widget extends WP_Widget {
213
if(!is_admin()){
214
215
$all_widgets = $this->get_settings();
216
-
217
foreach ($all_widgets as $key => $wpdcjqaccordion){
218
- $widget_id = $this->id_base . '-' . $key;
219
if(is_active_widget(false, $widget_id, $this->id_base)){
220
221
$skin = $wpdcjqaccordion['skin'];
@@ -242,37 +266,45 @@ class dc_jqaccordion_widget extends WP_Widget {
242
if(is_active_widget(false, $widget_id, $this->id_base)){
243
244
$autoClose = $wpdcjqaccordion['autoClose'];
245
- if($autoClose == ''){$autoClose = 'false';};
246
247
$saveState = $wpdcjqaccordion['saveState'];
248
- if($saveState == ''){$saveState = 'false';};
249
250
$disableLink = $wpdcjqaccordion['disableLink'];
251
- if($disableLink == ''){$disableLink = 'false';};
252
253
$menuClose = $wpdcjqaccordion['menuClose'];
254
- if($menuClose == ''){$menuClose = 'false';};
255
256
$autoExpand = $wpdcjqaccordion['autoExpand'];
257
if($autoExpand == ''){$autoExpand = 'false';}
258
259
$showCount = $wpdcjqaccordion['showCount'];
260
- if($showCount == ''){$showCount = 'false';};
261
262
$hoverDelay = $wpdcjqaccordion['hoverDelay'];
263
- if($hoverDelay == ''){$hoverDelay = 600;};
264
265
?>
266
<script type="text/javascript">
267
jQuery(document).ready(function($) {
268
- jQuery('#<?php echo $widget_id.'-item'; ?> .menu').dcAccordion({
269
eventType: '<?php echo $wpdcjqaccordion['event']; ?>',
270
hoverDelay: <?php echo $hoverDelay; ?>,
271
menuClose: <?php echo $menuClose; ?>,
272
autoClose: <?php echo $autoClose; ?>,
273
saveState: <?php echo $saveState; ?>,
274
autoExpand: <?php echo $autoExpand; ?>,
275
- classExpand: 'current-menu-ancestor',
276
showCount: <?php echo $showCount; ?>,
277
disableLink: <?php echo $disableLink; ?>,
278
cookie: '<?php echo $widget_id; ?>',
34
'showCount' => 'off',
35
'speed' => 'slow',
36
'disableLink' => 'on',
37
+ 'classDisable' => 'on',
38
+ 'classMenu' => '',
39
'skin' => 'demo.css'
40
);
41
}
55
return;
56
57
$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
58
+
59
+ $classMenu = ($instance['classMenu'] != '') ? $instance['classMenu'] : 'menu';
60
61
echo $args['before_widget'];
62
68
<div class="dcjq-accordion" id="<?php echo $this->id.'-item'; ?>">
69
70
<?php
71
+ wp_nav_menu(
72
+ array(
73
+ 'fallback_cb' => '',
74
+ 'menu' => $nav_menu,
75
+ 'container' => false,
76
+ 'menu_class' => $classMenu
77
+ )
78
+ );
79
?>
80
81
</div>
93
$instance['saveState'] = $new_instance['saveState'];
94
$instance['autoExpand'] = $new_instance['autoExpand'];
95
$instance['disableLink'] = $new_instance['disableLink'];
96
+ $instance['classDisable'] = $new_instance['classDisable'];
97
+ $instance['classMenu'] = $new_instance['classMenu'];
98
$instance['showCount'] = $new_instance['showCount'];
99
$instance['event'] = strip_tags( stripslashes($new_instance['event']) );
100
$instance['skin'] = $new_instance['skin'];
112
if(! isset($instance['saveState']) ){ $instance['saveState'] = 'false'; }
113
if(! isset($instance['menuClose']) ){ $instance['menuClose'] = 'false'; }
114
if(! isset($instance['disableLink']) ){ $instance['disableLink'] = 'false'; }
115
+ if(! isset($instance['classDisable']) ){ $instance['classDisable'] = ''; }
116
+ if(! isset($instance['classMenu']) ){ $instance['classMenu'] = ''; }
117
if(! isset($instance['autoExpand']) ){ $instance['autoExpand'] = 'false'; }
118
if(! isset($instance['showCount']) ){ $instance['showCount'] = 'false'; }
119
$event = isset( $instance['event'] ) ? $instance['event'] : '';
135
?>
136
<p>
137
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:') ?></label>
138
+ <input type="text" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo $title; ?>" size="20" />
139
</p>
140
<p>
141
<label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:'); ?></label>
171
<label for="<?php echo $this->get_field_id('menuClose'); ?>"><?php _e( 'Close Menu (hover only)' , 'dcjq-accordion' ); ?></label><br />
172
173
<input type="checkbox" value="true" class="checkbox" id="<?php echo $this->get_field_id('showCount'); ?>" name="<?php echo $this->get_field_name('showCount'); ?>"<?php checked( $showCount, 'true' ); ?> />
174
+ <label for="<?php echo $this->get_field_id('showCount'); ?>"><?php _e( 'Show Count' , 'dcjq-accordion' ); ?></label>
175
+ </p>
176
+ <p>
177
+ <label for="<?php echo $this->get_field_id('classMenu'); ?>"><?php _e('Menu Class:') ?></label>
178
+ <input type="text" id="<?php echo $this->get_field_id('classMenu'); ?>" name="<?php echo $this->get_field_name('classMenu'); ?>" value="<?php echo $classMenu; ?>" size="15" />
179
+ </p>
180
+ <p>
181
+ <label for="<?php echo $this->get_field_id('classDisable'); ?>"><?php _e('Disable Class:') ?></label>
182
+ <input type="text" id="<?php echo $this->get_field_id('classDisable'); ?>" name="<?php echo $this->get_field_name('classDisable'); ?>" value="<?php echo $classDisable; ?>" size="15" />
183
</p>
184
<p>
185
<label for="<?php echo $this->get_field_id('hoverDelay'); ?>"><?php _e('Hover Delay:', 'dcjq-accordion'); ?>
236
if(!is_admin()){
237
238
$all_widgets = $this->get_settings();
239
+
240
foreach ($all_widgets as $key => $wpdcjqaccordion){
241
+ $widget_id = $this->id_base . '-' . $key;
242
+
243
if(is_active_widget(false, $widget_id, $this->id_base)){
244
245
$skin = $wpdcjqaccordion['skin'];
266
if(is_active_widget(false, $widget_id, $this->id_base)){
267
268
$autoClose = $wpdcjqaccordion['autoClose'];
269
+ if($autoClose == ''){$autoClose = 'false';}
270
271
$saveState = $wpdcjqaccordion['saveState'];
272
+ if($saveState == ''){$saveState = 'false';}
273
274
$disableLink = $wpdcjqaccordion['disableLink'];
275
+ if($disableLink == ''){$disableLink = 'false';}
276
+
277
+ $classDisable = $wpdcjqaccordion['classDisable'];
278
+
279
+ $classMenu = $wpdcjqaccordion['classMenu'];
280
+ if($classMenu == ''){$classMenu = 'menu';}
281
282
$menuClose = $wpdcjqaccordion['menuClose'];
283
+ if($menuClose == ''){$menuClose = 'false';}
284
285
$autoExpand = $wpdcjqaccordion['autoExpand'];
286
if($autoExpand == ''){$autoExpand = 'false';}
287
288
$showCount = $wpdcjqaccordion['showCount'];
289
+ if($showCount == ''){$showCount = 'false';}
290
291
$hoverDelay = $wpdcjqaccordion['hoverDelay'];
292
+ if($hoverDelay == ''){$hoverDelay = 600;}
293
+
294
+ $accordionId = '#'.$widget_id.'-item .'.$classMenu;
295
296
?>
297
<script type="text/javascript">
298
jQuery(document).ready(function($) {
299
+ jQuery('<?php echo $accordionId; ?>').dcAccordion({
300
eventType: '<?php echo $wpdcjqaccordion['event']; ?>',
301
hoverDelay: <?php echo $hoverDelay; ?>,
302
menuClose: <?php echo $menuClose; ?>,
303
autoClose: <?php echo $autoClose; ?>,
304
saveState: <?php echo $saveState; ?>,
305
autoExpand: <?php echo $autoExpand; ?>,
306
+ classExpand: 'current-menu-item',
307
+ classDisable: '<?php echo $classDisable; ?>',
308
showCount: <?php echo $showCount; ?>,
309
disableLink: <?php echo $disableLink; ?>,
310
cookie: '<?php echo $widget_id; ?>',
js/{jquery.dcjqaccordion.2.7.js → jquery.dcjqaccordion.2.8.js} RENAMED
@@ -14,6 +14,7 @@
14
classParent : 'dcjq-parent',
15
classActive : 'active',
16
classExpand : 'dcjq-current-parent',
17
eventType : 'click',
18
hoverDelay : 300,
19
menuClose : true,
@@ -28,12 +29,21 @@
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,7 +54,7 @@
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
@@ -55,14 +65,14 @@
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');
@@ -78,14 +88,14 @@
78
}
79
if ($('> ul',$activeLi).is(':visible')){
80
$('ul',$activeLi).slideUp(defaults.speed);
81
- $('a',$activeLi).removeClass(defaults.classActive);
82
} else {
83
$(this).siblings('ul').slideToggle(defaults.speed);
84
- $('> a',$activeLi).addClass(defaults.classActive);
85
}
86
// Write cookie if save state is on
87
if(defaults.saveState == true){
88
- createCookie(defaults.cookie, obj);
89
}
90
});
91
}
@@ -93,13 +103,16 @@
93
function setUpAccordion(){
94
$arrow = '<span class="'+defaults.classArrow+'"></span>';
95
var classParentLi = defaults.classParent+'-li';
96
- $('> ul',obj).show();
97
$('li',obj).each(function(){
98
if($('> ul',this).length > 0){
99
$('> a',this).addClass(defaults.classParent).append($arrow);
100
}
101
});
102
- $('> ul',obj).hide();
103
if(defaults.showCount == true){
104
$('li.'+classParentLi,obj).each(function(){
105
if(defaults.disableLink == true){
@@ -126,15 +139,15 @@
126
127
if ($('> ul',$activeLi).is(':visible')){
128
$('ul',$activeLi).slideUp(defaults.speed);
129
- $('a',$activeLi).removeClass(defaults.classActive);
130
} else {
131
$(this).siblings('ul').slideToggle(defaults.speed);
132
- $('> a',$activeLi).addClass(defaults.classActive);
133
}
134
135
// Write cookie if save state is on
136
if(defaults.saveState == true){
137
- createCookie(defaults.cookie, obj);
138
}
139
}
140
@@ -147,46 +160,48 @@
147
function menuOut(){
148
149
if(defaults.menuClose == true){
150
- $('ul',obj).slideUp(defaults.speed);
151
// Reset active links
152
- $('a',obj).removeClass(defaults.classActive);
153
- createCookie(defaults.cookie, obj);
154
}
155
}
156
157
// Auto-Close Open Menu Items
158
function autoCloseAccordion($parentsLi, $parentsUl){
159
- $('ul',obj).not($parentsUl).slideUp(defaults.speed);
160
// Reset active links
161
- $('a',obj).removeClass(defaults.classActive);
162
- $('> a',$parentsLi).addClass(defaults.classActive);
163
}
164
// Reset accordion using active links
165
function resetAccordion(){
166
- $('ul',obj).hide();
167
- $allActiveLi = $('a.'+defaults.classActive,obj);
168
- $allActiveLi.siblings('ul').show();
169
}
170
});
171
// Retrieve cookie value and set active items
172
- function checkCookie(cookieId, obj){
173
var cookieVal = $.cookie(cookieId);
174
if(cookieVal != null){
175
// create array from cookie string
176
var activeArray = cookieVal.split(',');
177
$.each(activeArray, function(index,value){
178
var $cookieLi = $('li:eq('+value+')',obj);
179
- $('> a',$cookieLi).addClass(defaults.classActive);
180
var $parentsLi = $cookieLi.parents('li');
181
- $('> a',$parentsLi).addClass(defaults.classActive);
182
});
183
}
184
}
185
// Write cookie
186
- function createCookie(cookieId, obj){
187
var activeIndex = [];
188
// Create array of active items index value
189
- $('li a.'+defaults.classActive,obj).each(function(i){
190
var $arrayItem = $(this).parent('li');
191
var itemIndex = $('li',obj).index($arrayItem);
192
activeIndex.push(itemIndex);
14
classParent : 'dcjq-parent',
15
classActive : 'active',
16
classExpand : 'dcjq-current-parent',
17
+ classDisable : '',
18
eventType : 'click',
19
hoverDelay : 300,
20
menuClose : true,
29
var options = $.extend(defaults, options);
30
this.each(function(options){
31
var obj = this;
32
+ $objLinks = $('li > a',obj);
33
+ $objSub = $('li > ul',obj);
34
+ if(defaults.classDisable){
35
+ $objLinks = $('li:not(.'+defaults.classDisable+') > a',obj);
36
+ $objSub = $('li:not(.'+defaults.classDisable+') > ul',obj);
37
+ }
38
+
39
+ classActive = defaults.classActive;
40
+
41
setUpAccordion();
42
if(defaults.saveState == true){
43
+ checkCookie(defaults.cookie, obj, classActive);
44
}
45
if(defaults.autoExpand == true){
46
+ $('li.'+defaults.classExpand+' > a').addClass(classActive);
47
}
48
resetAccordion();
49
if(defaults.eventType == 'hover'){
54
timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
55
out: linkOut // function = onMouseOut callback (REQUIRED)
56
};
57
+ $objLinks.hoverIntent(config);
58
var configMenu = {
59
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
60
interval: 1000, // number = milliseconds for onMouseOver polling interval
65
$(obj).hoverIntent(configMenu);
66
// Disable parent links
67
if(defaults.disableLink == true){
68
+ $objLinks.click(function(e){
69
if($(this).siblings('ul').length >0){
70
e.preventDefault();
71
}
72
});
73
}
74
} else {
75
+ $objLinks.click(function(e){
76
$activeLi = $(this).parent('li');
77
$parentsLi = $activeLi.parents('li');
78
$parentsUl = $activeLi.parents('ul');
88
}
89
if ($('> ul',$activeLi).is(':visible')){
90
$('ul',$activeLi).slideUp(defaults.speed);
91
+ $('a',$activeLi).removeClass(classActive);
92
} else {
93
$(this).siblings('ul').slideToggle(defaults.speed);
94
+ $('> a',$activeLi).addClass(classActive);
95
}
96
// Write cookie if save state is on
97
if(defaults.saveState == true){
98
+ createCookie(defaults.cookie, obj, classActive);
99
}
100
});
101
}
103
function setUpAccordion(){
104
$arrow = '<span class="'+defaults.classArrow+'"></span>';
105
var classParentLi = defaults.classParent+'-li';
106
+ $objSub.show();
107
$('li',obj).each(function(){
108
if($('> ul',this).length > 0){
109
$('> a',this).addClass(defaults.classParent).append($arrow);
110
}
111
});
112
+ $objSub.hide();
113
+ if(defaults.classDisable){
114
+ $('li.'+defaults.classDisable+' > ul').show();
115
+ }
116
if(defaults.showCount == true){
117
$('li.'+classParentLi,obj).each(function(){
118
if(defaults.disableLink == true){
139
140
if ($('> ul',$activeLi).is(':visible')){
141
$('ul',$activeLi).slideUp(defaults.speed);
142
+ $('a',$activeLi).removeClass(classActive);
143
} else {
144
$(this).siblings('ul').slideToggle(defaults.speed);
145
+ $('> a',$activeLi).addClass(classActive);
146
}
147
148
// Write cookie if save state is on
149
if(defaults.saveState == true){
150
+ createCookie(defaults.cookie, obj, classActive);
151
}
152
}
153
160
function menuOut(){
161
162
if(defaults.menuClose == true){
163
+ $objSub.slideUp(defaults.speed);
164
// Reset active links
165
+ $('a',obj).removeClass(classActive);
166
+ createCookie(defaults.cookie, obj, classActive);
167
}
168
}
169
170
// Auto-Close Open Menu Items
171
function autoCloseAccordion($parentsLi, $parentsUl){
172
+ $objSub.not($parentsUl).slideUp(defaults.speed);
173
// Reset active links
174
+ $('a',obj).removeClass(classActive);
175
+ $('> a',$parentsLi).addClass(classActive);
176
}
177
// Reset accordion using active links
178
function resetAccordion(){
179
+ $objSub.hide();
180
+ var $parentsLi = $('a.'+classActive,obj).parents('li');
181
+ $('> a',$parentsLi).addClass(classActive);
182
+ $allActiveLi = $('a.'+classActive,obj);
183
+ $($allActiveLi).siblings('ul').show();
184
}
185
});
186
// Retrieve cookie value and set active items
187
+ function checkCookie(cookieId, obj, classActive){
188
var cookieVal = $.cookie(cookieId);
189
if(cookieVal != null){
190
// create array from cookie string
191
var activeArray = cookieVal.split(',');
192
$.each(activeArray, function(index,value){
193
var $cookieLi = $('li:eq('+value+')',obj);
194
+ $('> a',$cookieLi).addClass(classActive);
195
var $parentsLi = $cookieLi.parents('li');
196
+ $('> a',$parentsLi).addClass(classActive);
197
});
198
}
199
}
200
// Write cookie
201
+ function createCookie(cookieId, obj, classActive){
202
var activeIndex = [];
203
// Create array of active items index value
204
+ $('li a.'+classActive,obj).each(function(i){
205
var $arrayItem = $(this).parent('li');
206
var itemIndex = $('li',obj).index($arrayItem);
207
activeIndex.push(itemIndex);
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: remix4
3
Donate link: http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/#form-donate
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.4
8
9
Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery.
10
@@ -23,13 +23,16 @@ The widget has several parameters that can be configured to help cutomise the ve
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
26
* Hover delay - This setting adds a delay to the hover event to help prevent the menu opening/closing accidentally. A higher number means the cursor must stop moving for longer before the menu action will trigger
27
* Animation Speed - The speed at which the menu will open/close
28
* Skin - Several sample skins are available to give examples of css that can be used to style your accordion menu
29
30
Note: care should be taken when selecting the hover event as this may impact useability - adding a hover delay and reducing the animation speed may help reduce problems with useability
31
32
- [__See demo__](http://www.designchemical.com/lab/demo-wordpress-vertical-accordion-menu-plugin/)
33
34
== Installation ==
35
@@ -48,6 +51,9 @@ One main reason for the menu failing to load properly is caused by the necessary
48
49
Another likely cause is due to other non-functioning plugins, which may have errors and cause the plugin javascript to not load. Remove any unwanted plugins and try again. Checking with Firebug will show where these error are occuring.
50
51
== Screenshots ==
52
53
1. Widget in edit mode
@@ -55,6 +61,12 @@ Another likely cause is due to other non-functioning plugins, which may have err
55
56
== Changelog ==
57
58
= 2.5.4 =
59
* Fix: Bug with save state option
60
3
Donate link: http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/#form-donate
4
Tags: jquery, dropdown, menu, vertical accordion, animated, css, navigation, widget
5
Requires at least: 3.0
6
+ Tested up to: 3.13
7
+ Stable tag: 2.6
8
9
Creates a widget, which allows you to create vertical accordion menus from any Wordpress custom menu using jQuery.
10
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
26
+ * Class Menu - Set the CSS class of the Wordpress menu. If blank the default class "menu" will be used
27
+ * Class Disable - Input the CSS class for parent menu items that should be disabled - i.e. the child sub-menu remains open
28
* Hover delay - This setting adds a delay to the hover event to help prevent the menu opening/closing accidentally. A higher number means the cursor must stop moving for longer before the menu action will trigger
29
* Animation Speed - The speed at which the menu will open/close
30
* Skin - Several sample skins are available to give examples of css that can be used to style your accordion menu
31
32
Note: care should be taken when selecting the hover event as this may impact useability - adding a hover delay and reducing the animation speed may help reduce problems with useability
33
34
+ [__See Demo__](http://www.designchemical.com/lab/demo-wordpress-vertical-accordion-menu-plugin/)
35
+ [__Plugin Home Page__](http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/)
36
37
== Installation ==
38
51
52
Another likely cause is due to other non-functioning plugins, which may have errors and cause the plugin javascript to not load. Remove any unwanted plugins and try again. Checking with Firebug will show where these error are occuring.
53
54
+ [__Also check out our jquery accordion menu faq page__](http://www.designchemical.com/blog/index.php/frequently-asked-questions/jquery-vertical-accordion-menu/)
55
+
56
+
57
== Screenshots ==
58
59
1. Widget in edit mode
61
62
== Changelog ==
63
64
+ = 2.6 =
65
+ * Added: Ability to disable parent menu items using a CSS class
66
+ * Added: Ability to set menu CSS Class - default "menu"
67
+ * Update: Revision to auto-expand system
68
+ * Update: jquery.dcjqaccordion.2.8.js
69
+
70
= 2.5.4 =
71
* Fix: Bug with save state option
72
screenshot-1.png CHANGED
Binary file