diff --git a/src/js/plugin/update-geometry.js b/src/js/plugin/update-geometry.js index 86e6fcc..1548c17 100644 --- a/src/js/plugin/update-geometry.js +++ b/src/js/plugin/update-geometry.js @@ -60,6 +60,13 @@ module.exports = function (element) { i.contentWidth = element.scrollWidth; i.contentHeight = element.scrollHeight; + if (!element.contains(i.scrollbarXRail)) { + d.appendTo(i.scrollbarXRail, element); + } + if (!element.contains(i.scrollbarYRail)) { + d.appendTo(i.scrollbarYRail, element); + } + if (!i.settings.suppressScrollX && i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth) { i.scrollbarXActive = true; i.railXWidth = i.containerWidth - i.railXMarginWidth; diff --git a/src/js/plugin/update.js b/src/js/plugin/update.js index 0e09994..308a9df 100644 --- a/src/js/plugin/update.js +++ b/src/js/plugin/update.js @@ -4,27 +4,18 @@ 'use strict'; var d = require('../lib/dom') - , destroy = require('./destroy') - , initialize = require('./initialize') , instances = require('./instances') , updateGeometry = require('./update-geometry'); module.exports = function (element) { var i = instances.get(element); - if (!i.scrollbarXRail || !element.contains(i.scrollbarXRail) || - !i.scrollbarYRail || !element.contains(i.scrollbarYRail)) { - // If there's something wrong in the plugin, re-initialise. - destroy(element); - initialize(element); - } else { - // Hide scrollbars not to affect scrollWidth and scrollHeight - d.css(i.scrollbarXRail, 'display', 'none'); - d.css(i.scrollbarYRail, 'display', 'none'); + // Hide scrollbars not to affect scrollWidth and scrollHeight + d.css(i.scrollbarXRail, 'display', 'none'); + d.css(i.scrollbarYRail, 'display', 'none'); - updateGeometry(element); + updateGeometry(element); - d.css(i.scrollbarXRail, 'display', 'block'); - d.css(i.scrollbarYRail, 'display', 'block'); - } + d.css(i.scrollbarXRail, 'display', 'block'); + d.css(i.scrollbarYRail, 'display', 'block'); };