aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/modal.js23
1 files changed, 14 insertions, 9 deletions
diff --git a/js/modal.js b/js/modal.js
index ec358696f..a55363728 100644
--- a/js/modal.js
+++ b/js/modal.js
@@ -14,11 +14,12 @@
// ======================
var Modal = function (element, options) {
- this.options = options
- this.$body = $(document.body)
- this.$element = $(element)
- this.$backdrop =
- this.isShown = null
+ this.options = options
+ this.$body = $(document.body)
+ this.$element = $(element)
+ this.$backdrop =
+ this.isShown = null
+ this.scrollbarWidth = 0
if (this.options.remote) {
this.$element
@@ -49,6 +50,7 @@
this.isShown = true
+ this.checkScrollbar()
this.$body.addClass('modal-open')
this.setScrollbar()
@@ -195,11 +197,14 @@
}
}
+ Modal.prototype.checkScrollbar = function () {
+ if (document.body.clientWidth >= window.innerWidth) return
+ this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()
+ }
+
Modal.prototype.setScrollbar = function () {
- if (document.body.clientHeight <= window.innerHeight) return
- var scrollbarWidth = this.measureScrollbar()
- var bodyPad = parseInt(this.$body.css('padding-right') || 0)
- if (scrollbarWidth) this.$body.css('padding-right', bodyPad + scrollbarWidth)
+ var bodyPad = parseInt(this.$body.css('padding-right') || 0)
+ if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
}
Modal.prototype.resetScrollbar = function () {