Skip to content

Commit 2c41b0a

Browse files
committed
fix get the transition duration parent
1 parent 1fadad1 commit 2c41b0a

File tree

2 files changed

+11
-17
lines changed

2 files changed

+11
-17
lines changed

js/src/util.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,22 @@ const Util = (($) => {
106106
},
107107

108108
getTransitionDurationFromElement(element) {
109+
if (!element) {
110+
return 0
111+
}
112+
109113
// Get transition-duration of the element
110114
let transitionDuration = $(element).css('transition-duration')
115+
const floatTransitionDuration = parseFloat(transitionDuration)
111116

112117
// Return 0 if element or transition duration is not found
113-
if (!transitionDuration) {
118+
if (!floatTransitionDuration) {
114119
return 0
115120
}
116121

117122
// If multiple durations are defined, take the first
118123
transitionDuration = transitionDuration.split(',')[0]
119124

120-
// jQuery always converts transition durations into seconds,
121-
// so multiply by 1000
122125
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER
123126
},
124127

js/tests/unit/util.js

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,44 +46,35 @@ $(function () {
4646
assert.expect(1)
4747
var $div = $('<div style="transition: all 300ms ease-out;"></div>').appendTo($('#qunit-fixture'))
4848

49-
assert.strictEqual(Util.getTransitionDurationFromElement($div), 300)
49+
assert.strictEqual(Util.getTransitionDurationFromElement($div[0]), 300)
5050
})
5151

5252
QUnit.test('Util.getTransitionDurationFromElement should accept transition durations in seconds', function (assert) {
5353
assert.expect(1)
5454
var $div = $('<div style="transition: all .4s ease-out;"></div>').appendTo($('#qunit-fixture'))
5555

56-
assert.strictEqual(Util.getTransitionDurationFromElement($div), 400)
56+
assert.strictEqual(Util.getTransitionDurationFromElement($div[0]), 400)
5757
})
5858

5959
QUnit.test('Util.getTransitionDurationFromElement should get the first transition duration if multiple transition durations are defined', function (assert) {
6060
assert.expect(1)
6161
var $div = $('<div style="transition: transform .3s ease-out, opacity .2s;"></div>').appendTo($('#qunit-fixture'))
6262

63-
assert.strictEqual(Util.getTransitionDurationFromElement($div), 300)
63+
assert.strictEqual(Util.getTransitionDurationFromElement($div[0]), 300)
6464
})
6565

6666
QUnit.test('Util.getTransitionDurationFromElement should return 0 if transition duration is not defined', function (assert) {
6767
assert.expect(1)
6868
var $div = $('<div></div>').appendTo($('#qunit-fixture'))
6969

70-
assert.strictEqual(Util.getTransitionDurationFromElement($div), 0)
70+
assert.strictEqual(Util.getTransitionDurationFromElement($div[0]), 0)
7171
})
7272

7373
QUnit.test('Util.getTransitionDurationFromElement should return 0 if element is not found in DOM', function (assert) {
7474
assert.expect(1)
7575
var $div = $('#fake-id')
7676

77-
assert.strictEqual(Util.getTransitionDurationFromElement($div), 0)
78-
})
79-
80-
QUnit.test('Util.getTransitionDurationFromElement should properly handle inherited transition durations', function (assert) {
81-
assert.expect(1)
82-
var $parent = $('<div style="transition-duration: 5s;"></div>')
83-
var $child = $('<div style="transition-duration: inherit;"></div>')
84-
$('#qunit-fixture').append($parent.append($child))
85-
86-
assert.strictEqual(Util.getTransitionDurationFromElement($child), 5000)
77+
assert.strictEqual(Util.getTransitionDurationFromElement($div[0]), 0)
8778
})
8879

8980
QUnit.test('Util.getUID should generate a new id uniq', function (assert) {

0 commit comments

Comments
 (0)