SplitPanel: don't toggle again while toggle animation is running
This commit is contained in:
parent
34894f8d29
commit
7a20c4ca05
1 changed files with 5 additions and 0 deletions
|
@ -305,11 +305,15 @@ Ox.SplitPanel = function(options, self) {
|
||||||
// FIXME: isn't 'toggle' reserved by jQuery?
|
// FIXME: isn't 'toggle' reserved by jQuery?
|
||||||
that.toggle = function(id) {
|
that.toggle = function(id) {
|
||||||
// one can pass pos instead of id
|
// one can pass pos instead of id
|
||||||
|
if (self.toggling) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
var pos = Ox.isNumber(id) ? id : getPositionById(id),
|
var pos = Ox.isNumber(id) ? id : getPositionById(id),
|
||||||
element = self.options.elements[pos],
|
element = self.options.elements[pos],
|
||||||
value = parseInt(that.css(self.edges[pos == 0 ? 0 : 1]), 10)
|
value = parseInt(that.css(self.edges[pos == 0 ? 0 : 1]), 10)
|
||||||
+ element.element[self.dimensions[0]]() * (element.collapsed ? 1 : -1),
|
+ element.element[self.dimensions[0]]() * (element.collapsed ? 1 : -1),
|
||||||
animate = {};
|
animate = {};
|
||||||
|
self.toggling = true;
|
||||||
animate[self.edges[pos == 0 ? 0 : 1]] = value;
|
animate[self.edges[pos == 0 ? 0 : 1]] = value;
|
||||||
that.animate(animate, 250, function() {
|
that.animate(animate, 250, function() {
|
||||||
element.collapsed = !element.collapsed;
|
element.collapsed = !element.collapsed;
|
||||||
|
@ -321,6 +325,7 @@ Ox.SplitPanel = function(options, self) {
|
||||||
element.element.triggerEvent('resize', {
|
element.element.triggerEvent('resize', {
|
||||||
size: element.element[self.dimensions[0]]()
|
size: element.element[self.dimensions[0]]()
|
||||||
});
|
});
|
||||||
|
self.toggling = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue