diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/tooltip.js | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/js/tooltip.js b/js/tooltip.js index 897a44517..faa434030 100644 --- a/js/tooltip.js +++ b/js/tooltip.js @@ -155,7 +155,6 @@ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) - var tp var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight @@ -180,20 +179,10 @@ .addClass(placement) } - switch (placement) { - case 'bottom': - tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} - break - case 'top': - tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} - break - case 'left': - tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} - break - case 'right': - tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} - break - } + var tp = placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } this.applyPlacement(tp, placement) this.$element.trigger('shown.bs.' + this.type) @@ -206,6 +195,10 @@ var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight + // manually read margins because getBoundingClientRect includes difference + offset.top = offset.top + parseInt($tip.css('margin-top'), 10) + offset.left = offset.left + parseInt($tip.css('margin-left'), 10) + $tip .offset(offset) .addClass('in') |
