diff options
author | Jed Foster <jed@jedfoster.com> | 2015-01-02 15:09:24 -0800 |
---|---|---|
committer | Jed Foster <jed@jedfoster.com> | 2015-01-02 15:09:54 -0800 |
commit | 2df00602dac646566b63d73a42915c82232eb3de (patch) | |
tree | aa7036f466bb34cafbe16ebbeb80e718122e3cc5 | |
parent | 1e9459ccb8a9c34428e4d711c108556c3e53feb0 (diff) | |
download | Readmore.js-2df00602dac646566b63d73a42915c82232eb3de.zip Readmore.js-2df00602dac646566b63d73a42915c82232eb3de.tar.gz Readmore.js-2df00602dac646566b63d73a42915c82232eb3de.tar.bz2 |
Refactor stylesheet embedding as new function
-rw-r--r-- | readmore.js | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/readmore.js b/readmore.js index bdb345e..54797c9 100644 --- a/readmore.js +++ b/readmore.js @@ -97,29 +97,17 @@ }); }, 100); - - function Readmore(element, options) { - var $this = this; - - this.element = element; - - this.options = $.extend({}, defaults, options); - - $(this.element).data({ - 'defaultCollapsedHeight': this.options.collapsedHeight, - 'heightMargin': this.options.heightMargin - }); - - if (! cssEmbedded[this.options.selector]) { + function embedCSS(options) { + if (! cssEmbedded[options.selector]) { var styles = ' '; - if (this.options.embedCSS) { - styles += this.options.selector + ' + [data-readmore-js-toggle], ' + this.options.selector + '[data-readmore-js-section]{' + this.options.sectionCSS + '}' + if (options.embedCSS) { + styles += options.selector + ' + [data-readmore-js-toggle], ' + options.selector + '[data-readmore-js-section]{' + options.sectionCSS + '}' } // Include the transition CSS even if embedCSS is false - styles += this.options.selector + '[data-readmore-js-section]{' + - 'transition: height ' + this.options.speed + 'ms;' + + styles += options.selector + '[data-readmore-js-section]{' + + 'transition: height ' + options.speed + 'ms;' + 'overflow: hidden;' + '}'; @@ -137,8 +125,24 @@ d.getElementsByTagName('head')[0].appendChild(css); }(document, styles)); - cssEmbedded[this.options.selector] = true; + cssEmbedded[options.selector] = true; } + } + + + function Readmore(element, options) { + var $this = this; + + this.element = element; + + this.options = $.extend({}, defaults, options); + + $(this.element).data({ + 'defaultCollapsedHeight': this.options.collapsedHeight, + 'heightMargin': this.options.heightMargin + }); + + embedCSS(this.options); this._defaults = defaults; this._name = readmore; |