32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
/* Copyright (c) 2015 Hyunje Alex Jun and other contributors
|
|
* Licensed under the MIT License
|
|
*/
|
|
'use strict';
|
|
|
|
var d = require('../lib/dom')
|
|
, h = require('../lib/helper')
|
|
, instances = require('./instances')
|
|
, updateGeometry = require('./update-geometry');
|
|
|
|
module.exports = function (element) {
|
|
var i = instances.get(element);
|
|
|
|
// Recalcuate negative scrollLeft adjustment
|
|
i.negativeScrollAdjustment = i.isNegativeScroll ? element.scrollWidth - element.clientWidth : 0;
|
|
|
|
// Recalculate rail margins
|
|
d.css(i.scrollbarXRail, 'display', 'block');
|
|
d.css(i.scrollbarYRail, 'display', 'block');
|
|
i.railXMarginWidth = h.toInt(d.css(i.scrollbarXRail, 'marginLeft')) + h.toInt(d.css(i.scrollbarXRail, 'marginRight'));
|
|
i.railYMarginHeight = h.toInt(d.css(i.scrollbarYRail, 'marginTop')) + h.toInt(d.css(i.scrollbarYRail, 'marginBottom'));
|
|
|
|
// Hide scrollbars not to affect scrollWidth and scrollHeight
|
|
d.css(i.scrollbarXRail, 'display', 'none');
|
|
d.css(i.scrollbarYRail, 'display', 'none');
|
|
|
|
updateGeometry(element);
|
|
|
|
d.css(i.scrollbarXRail, 'display', '');
|
|
d.css(i.scrollbarYRail, 'display', '');
|
|
};
|