/* 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', ''); };