|
1371 | 1371 | var $header = this.$header;
|
1372 | 1372 | var $labels = this.$labels;
|
1373 | 1373 | var $inputs = this.$inputs.filter(':checked:not(.ui-state-disabled)');
|
1374 |
| - var speed = this.speed; |
1375 | 1374 | var options = this.options;
|
1376 | 1375 | var effect = options.openEffect;
|
1377 | 1376 | var scrollX = window.scrollX;
|
1378 | 1377 | var scrollY = window.scrollY;
|
1379 | 1378 |
|
1380 |
| - // figure out opening effects/speeds |
1381 |
| - if (effect && effect.constructor == Array) { |
1382 |
| - speed = effect[1] || speed; |
1383 |
| - effect = effect[0]; |
1384 |
| - } |
1385 |
| - |
1386 | 1379 | // set the scroll of the checkbox container
|
1387 | 1380 | this.$checkboxes.scrollTop(0);
|
1388 | 1381 |
|
1389 | 1382 | // show the menu, maybe with a speed/effect combo
|
1390 |
| - // if there's an effect, assume jQuery UI is in use |
1391 |
| - if (effect) { |
1392 |
| - $.fn.show.apply($menu, effect ? [ effect, speed ] : []); |
| 1383 | + if (!!effect) { |
| 1384 | + if (typeof effect == 'string') { |
| 1385 | + $.fn.show.call($menu, effect, this.speed); |
| 1386 | + } |
| 1387 | + else if (typeof effect == 'object' && effect.constructor == Array) { |
| 1388 | + $.fn.show.call($menu, effect[0], effect[1] || this.speed); |
| 1389 | + } |
| 1390 | + else if (typeof effect == 'object' && effect.constructor == Object) { |
| 1391 | + $.fn.show.call($menu, effect); |
| 1392 | + } |
1393 | 1393 | }
|
1394 | 1394 | else {
|
1395 | 1395 | $menu.css('display','block');
|
|
1424 | 1424 |
|
1425 | 1425 | // Close the menu
|
1426 | 1426 | close: function() {
|
1427 |
| - var self = this; |
1428 |
| - |
1429 | 1427 | // bail if the multiselect close event returns false
|
1430 | 1428 | if (this._trigger('beforeclose') === false || !!this.options.listbox) {
|
1431 | 1429 | return;
|
1432 | 1430 | }
|
1433 | 1431 |
|
| 1432 | + var $menu = this.$menu; |
1434 | 1433 | var options = this.options;
|
1435 | 1434 | var effect = options.closeEffect;
|
1436 |
| - var speed = this.speed; |
1437 | 1435 | var $button = this.$button;
|
1438 | 1436 |
|
1439 |
| - // figure out closing effects/speeds |
1440 |
| - if (effect && effect.constructor == Array) { |
1441 |
| - speed = effect[1] || speed; |
1442 |
| - effect = effect[0]; |
1443 |
| - } |
1444 |
| - |
1445 | 1437 | // hide the menu, maybe with a speed/effect combo
|
1446 |
| - // if there's an effect, assume jQuery UI is in use |
1447 |
| - if (effect) { |
1448 |
| - $.fn.hide.apply(this.$menu, effect ? [ effect, speed ] : []); |
| 1438 | + if (!!effect) { |
| 1439 | + if (typeof effect == 'string') { |
| 1440 | + $.fn.hide.call($menu, effect, this.speed); |
| 1441 | + } |
| 1442 | + else if (typeof effect == 'object' && effect.constructor == Array) { |
| 1443 | + $.fn.hide.call($menu, effect[0], effect[1] || this.speed); |
| 1444 | + } |
| 1445 | + else if (typeof effect == 'object' && effect.constructor == Object) { |
| 1446 | + $.fn.hide.call($menu, effect); |
| 1447 | + } |
1449 | 1448 | }
|
1450 | 1449 | else {
|
1451 |
| - this.$menu.css('display','none'); |
| 1450 | + $menu.css('display','none'); |
1452 | 1451 | }
|
1453 | 1452 |
|
1454 | 1453 | $button.removeClass('ui-state-active').trigger('blur').trigger('mouseleave');
|
|
0 commit comments