if transitioning collapse, don't start new transition

This commit is contained in:
Jacob Thornton 2012-03-20 22:43:27 -07:00
parent 663e41d74f
commit cb8dcfcebf
3 changed files with 32 additions and 8 deletions

Binary file not shown.

View File

@ -42,11 +42,18 @@
}
, show: function () {
var dimension = this.dimension()
, scroll = $.camelCase(['scroll', dimension].join('-'))
, actives = this.$parent && this.$parent.find('> .accordion-group > .in')
var dimension
, scroll
, actives
, hasData
if (this.transitioning) return
dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-'))
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
hasData
if (actives && actives.length) {
hasData = actives.data('collapse')
actives.collapse('hide')
@ -59,7 +66,9 @@
}
, hide: function () {
var dimension = this.dimension()
var dimension
if (this.transitioning) return
dimension = this.dimension()
this.reset(this.$element[dimension]())
this.transition('removeClass', 'hide', 'hidden')
this.$element[dimension](0)
@ -82,9 +91,12 @@
var that = this
, complete = function () {
if (startEvent == 'show') that.reset()
that.transitioning = 0
that.$element.trigger(completeEvent)
}
this.transitioning = 1
this.$element
.trigger(startEvent)
[method]('in')

View File

@ -42,11 +42,18 @@
}
, show: function () {
var dimension = this.dimension()
, scroll = $.camelCase(['scroll', dimension].join('-'))
, actives = this.$parent && this.$parent.find('> .accordion-group > .in')
var dimension
, scroll
, actives
, hasData
if (this.transitioning) return
dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-'))
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
hasData
if (actives && actives.length) {
hasData = actives.data('collapse')
actives.collapse('hide')
@ -59,7 +66,9 @@
}
, hide: function () {
var dimension = this.dimension()
var dimension
if (this.transitioning) return
dimension = this.dimension()
this.reset(this.$element[dimension]())
this.transition('removeClass', 'hide', 'hidden')
this.$element[dimension](0)
@ -82,9 +91,12 @@
var that = this
, complete = function () {
if (startEvent == 'show') that.reset()
that.transitioning = 0
that.$element.trigger(completeEvent)
}
this.transitioning = 1
this.$element
.trigger(startEvent)
[method]('in')