From 4bc2d70f4c8c9269b0a1ddd3300f143a30534c73 Mon Sep 17 00:00:00 2001 From: Leo Ding Date: Tue, 16 Feb 2016 11:55:18 +0800 Subject: [PATCH] Make a nice top/bottom center global position The example is in 'examples/position.html' --- dist/notify.js | 19 +++++++++++++++++-- examples/position.html | 7 +++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/dist/notify.js b/dist/notify.js index aed93e6..b865285 100644 --- a/dist/notify.js +++ b/dist/notify.js @@ -329,6 +329,19 @@ return elems[fn].apply(elems, args); }; + Notification.prototype.setGlobalNoticePosition = function(align) { + this.wrapper.css({visibility: 'hidden', display: 'block', float: 'left'}); + this.container.css({visibility: 'hidden', display: 'block'}); + if (align === 'center') { + var css = {}; + css.clear = 'both'; + css.marginLeft = 0 - this.wrapper.width() / 2 + 'px'; + this.wrapper.css(css); + } + this.wrapper.css({visibility: ''}); + this.container.css({visibility: '', display: 'none'}); + }; + Notification.prototype.setGlobalPosition = function() { var p = this.getPosition(); var pMain = p[0]; @@ -344,14 +357,16 @@ if (align === "middle") { css.top = '45%'; } else if (align === "center") { - css.left = '45%'; + css.left = '50%'; } else { css[align] = 0; } anchor.css(css).addClass(pluginClassName + "-corner"); $("body").append(anchor); } - return anchor.prepend(this.wrapper); + var elem = anchor.prepend(this.wrapper); + this.setGlobalNoticePosition(align); + return elem; }; Notification.prototype.setElementPosition = function() { diff --git a/examples/position.html b/examples/position.html index 2651ca3..59a013c 100644 --- a/examples/position.html +++ b/examples/position.html @@ -36,6 +36,13 @@ }); }); + + $.notify('Line text 1', {position: 'top center'}); + $.notify('Line text 01', {position: 'top center'}); + $.notify('Line text 001', {position: 'top center'}); + $.notify('Line text 1', {position: 'bottom center'}); + $.notify('Line text 01', {position: 'bottom center'}); + $.notify('Line text 001', {position: 'bottom center'});