|
62 | 62 | setLeft: function($elem, left) { $elem.css('left', left); }
|
63 | 63 | },
|
64 | 64 | transform: {
|
65 |
| - setTop: function($elem, top, startingTop) { setTransform($elem, top - startingTop, 'Y'); }, |
66 |
| - setLeft: function($elem, left, startingLeft) { setTransform($elem, left - startingLeft, 'X'); } |
| 65 | + setPosition: function($elem, left, startingLeft, top, startingTop) { |
| 66 | + $elem[0].style[vendorPrefix('transform')] = 'translate(' + (left - startingLeft) + 'px, ' + (top - startingTop) + 'px)'; |
| 67 | + } |
67 | 68 | }
|
68 | 69 | },
|
69 | 70 |
|
|
205 | 206 | };
|
206 | 207 | },
|
207 | 208 | _defineSetters: function() {
|
208 |
| - var self = this; |
| 209 | + var self = this, |
| 210 | + positionPropertyAdapter = positionProperty[self.options.positionProperty]; |
209 | 211 |
|
210 | 212 | this._setScrollLeft = function(val) {
|
211 | 213 | scrollProperty[self.options.scrollProperty].setLeft(self.$scrollElement, val);
|
|
215 | 217 | scrollProperty[self.options.scrollProperty].setTop(self.$scrollElement, val);
|
216 | 218 | };
|
217 | 219 |
|
218 |
| - this._setLeft = function($elem, left, startingLeft) { |
219 |
| - positionProperty[self.options.positionProperty].setLeft($elem, left, startingLeft); |
220 |
| - }; |
| 220 | + this._setPosition = positionPropertyAdapter.setPosition || |
| 221 | + function($elem, left, startingLeft, top, startingTop) { |
| 222 | + if (self.options.horizontalScrolling) { |
| 223 | + positionPropertyAdapter.setLeft($elem, left, startingLeft); |
| 224 | + } |
221 | 225 |
|
222 |
| - this._setTop = function($elem, top, startingTop) { |
223 |
| - positionProperty[self.options.positionProperty].setTop($elem, top, startingTop); |
224 |
| - }; |
| 226 | + if (self.options.verticalScrolling) { |
| 227 | + positionPropertyAdapter.setTop($elem, top, startingTop); |
| 228 | + } |
| 229 | + }; |
225 | 230 | },
|
226 | 231 | _handleWindowLoadAndResize: function() {
|
227 | 232 | var self = this,
|
|
486 | 491 | startingPositionLeft = particle.$element.data('stellar-startingLeft');
|
487 | 492 | startingPositionTop = particle.$element.data('stellar-startingTop');
|
488 | 493 |
|
489 |
| - this._setLeft(particle.$element, startingPositionLeft, startingPositionLeft); |
490 |
| - this._setTop(particle.$element, startingPositionTop, startingPositionTop); |
| 494 | + this._setPosition(particle.$element, startingPositionLeft, startingPositionLeft, startingPositionTop, startingPositionTop); |
491 | 495 |
|
492 | 496 | this.options.showElement(particle.$element);
|
493 | 497 |
|
|
584 | 588 | particle.isHidden = false;
|
585 | 589 | }
|
586 | 590 |
|
587 |
| - if (this.options.horizontalScrolling) { |
588 |
| - this._setLeft(particle.$element, newPositionLeft, particle.startingPositionLeft); |
589 |
| - } |
590 |
| - |
591 |
| - if (this.options.verticalScrolling) { |
592 |
| - this._setTop(particle.$element, newPositionTop, particle.startingPositionTop); |
593 |
| - } |
| 591 | + this._setPosition(particle.$element, newPositionLeft, particle.startingPositionLeft, newPositionTop, particle.startingPositionTop); |
594 | 592 | } else {
|
595 | 593 | if (!particle.isHidden) {
|
596 | 594 | this.options.hideElement(particle.$element);
|
|
0 commit comments