summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJed Foster <jed@jedfoster.com>2014-02-09 13:13:53 -0800
committerJed Foster <jed@jedfoster.com>2014-02-09 13:13:53 -0800
commitb4ad8a8c76cdd1a66ee26276a7f873b256a700e9 (patch)
tree168e24d9380491746c2d520e010736088369b1fe
parent53bbc02465e694f4b909ccabf513b6fa7e59c28a (diff)
parent07345851e45d3ea82c7c80d57ecffc0b508763ee (diff)
downloadReadmore.js-b4ad8a8c76cdd1a66ee26276a7f873b256a700e9.zip
Readmore.js-b4ad8a8c76cdd1a66ee26276a7f873b256a700e9.tar.gz
Readmore.js-b4ad8a8c76cdd1a66ee26276a7f873b256a700e9.tar.bz2
Merge branch 'kaaloo-master'
-rw-r--r--readmore.js11
-rw-r--r--readmore.min.js6
2 files changed, 7 insertions, 10 deletions
diff --git a/readmore.js b/readmore.js
index f2b009f..5a34c89 100644
--- a/readmore.js
+++ b/readmore.js
@@ -116,12 +116,13 @@
// Fire beforeToggle callback
$this.options.beforeToggle(trigger, element, more);
- $(element).animate({"height": newHeight}, {duration: $this.options.speed });
+ $(element).animate({"height": newHeight}, {duration: $this.options.speed, complete: function() {
+ // Fire afterToggle callback
+ $this.options.afterToggle(trigger, element, more);
- $(trigger).replaceWith($($this.options[newLink]).on('click', function(event) { $this.toggleSlider(this, element, event) }).addClass('readmore-js-toggle'));
-
- // Fire afterToggle callback
- $this.options.afterToggle(trigger, element, more);
+ $(trigger).replaceWith($($this.options[newLink]).on('click', function(event) { $this.toggleSlider(this, element, event) }).addClass('readmore-js-toggle'));
+ }
+ });
},
destroy: function() {
diff --git a/readmore.min.js b/readmore.min.js
index 5daa9d7..c6f6584 100644
--- a/readmore.min.js
+++ b/readmore.min.js
@@ -1,5 +1 @@
-(function(c){function g(b,a){this.element=b;this.options=c.extend({},h,a);c(this.element).data("max-height",this.options.maxHeight);c(this.element).data("height-margin",this.options.heightMargin);delete this.options.maxHeight;if(this.options.embedCSS&&!k){var d=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } .readmore-js-section { overflow: hidden; }",e=document.createElement("style");e.type="text/css";e.styleSheet?e.styleSheet.cssText=d:e.appendChild(document.createTextNode(d));
-document.getElementsByTagName("head")[0].appendChild(e);k=!0}this._defaults=h;this._name=f;this.init()}var f="readmore",h={speed:100,maxHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,sectionCSS:"display: block; width: 100%;",startOpen:!1,beforeToggle:function(){},afterToggle:function(){}},k=!1;g.prototype={init:function(){var b=this;c(this.element).each(function(){var a=c(this),d=a.css("max-height").replace(/[^-\d\.]/g,"")>a.data("max-height")?
-a.css("max-height").replace(/[^-\d\.]/g,""):a.data("max-height"),e=a.data("height-margin");a.addClass("readmore-js-section");"none"!=a.css("max-height")&&a.css("max-height","none");a.data("boxHeight",a.outerHeight(!0));if(a.outerHeight(!0)<=d+e)return!0;a.data("sliderHeight",d);a.after(c(b.options.startOpen?b.options.lessLink:b.options.moreLink).on("click",function(c){b.toggleSlider(this,a,c)}).addClass("readmore-js-toggle"));b.options.startOpen||a.css({height:d})})},toggleSlider:function(b,a,d){d.preventDefault();
-var e=this,f=newLink="";d=!1;f=c(a).data("sliderHeight");c(a).height()==f?(f=c(a).data().boxHeight+"px",newLink="lessLink",d=!0):newLink="moreLink";e.options.beforeToggle(b,a,d);c(a).animate({height:f},{duration:e.options.speed});c(b).replaceWith(c(e.options[newLink]).on("click",function(b){e.toggleSlider(this,a,b)}).addClass("readmore-js-toggle"));e.options.afterToggle(b,a,d)},destroy:function(){c(this.element).each(function(){var b=c(this);b.removeClass("readmore-js-section").css({"max-height":"",
-height:"auto"}).next(".readmore-js-toggle").remove();b.removeData()})}};c.fn[f]=function(b){var a=arguments;if(void 0===b||"object"===typeof b)return this.each(function(){c.data(this,"plugin_"+f)||c.data(this,"plugin_"+f,new g(this,b))});if("string"===typeof b&&"_"!==b[0]&&"init"!==b)return this.each(function(){var d=c.data(this,"plugin_"+f);d instanceof g&&"function"===typeof d[b]&&d[b].apply(d,Array.prototype.slice.call(a,1))})}})(jQuery);
+;(function(c){var a="readmore",d={speed:100,maxHeight:200,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:true,sectionCSS:"display: block; width: 100%;",startOpen:false,beforeToggle:function(){},afterToggle:function(){}},e=false;function b(g,f){this.element=g;this.options=c.extend({},d,f);c(this.element).data("max-height",this.options.maxHeight);delete (this.options.maxHeight);if(this.options.embedCSS&&!e){var h=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } .readmore-js-section { overflow: hidden; }";(function(k,i){var j=k.createElement("style");j.type="text/css";if(j.styleSheet){j.styleSheet.cssText=i}else{j.appendChild(k.createTextNode(i))}k.getElementsByTagName("head")[0].appendChild(j)}(document,h));e=true}this._defaults=d;this._name=a;this.init()}b.prototype={init:function(){var f=this;c(this.element).each(function(){var i=c(this),h=(i.css("max-height").replace(/[^-\d\.]/g,"")>i.data("max-height"))?i.css("max-height").replace(/[^-\d\.]/g,""):i.data("max-height");i.addClass("readmore-js-section");if(i.css("max-height")!="none"){i.css("max-height","none")}i.data("boxHeight",i.outerHeight(true));if(i.outerHeight(true)<h){return true}else{i.data("sliderHeight",h);var g=f.options.startOpen?f.options.lessLink:f.options.moreLink;i.after(c(g).on("click",function(j){f.toggleSlider(this,i,j)}).addClass("readmore-js-toggle"));if(!f.options.startOpen){i.css({height:h})}}})},toggleSlider:function(g,i,j){j.preventDefault();var k=this,f=newLink="",h=false,l=c(i).data("sliderHeight");if(c(i).height()==l){f=c(i).data().boxHeight+"px";newLink="lessLink";h=true}else{f=l;newLink="moreLink"}k.options.beforeToggle(g,i,h);c(i).animate({height:f},{duration:k.options.speed,complete:function(){k.options.afterToggle(g,i,h)}});c(g).replaceWith(c(k.options[newLink]).on("click",function(m){k.toggleSlider(this,i,m)}).addClass("readmore-js-toggle"))}};c.fn[a]=function(g){var f=arguments;if(g===undefined||typeof g==="object"){return this.each(function(){if(!c.data(this,"plugin_"+a)){c.data(this,"plugin_"+a,new b(this,g))}})}else{if(typeof g==="string"&&g[0]!=="_"&&g!=="init"){return this.each(function(){var h=c.data(this,"plugin_"+a);if(h instanceof b&&typeof h[g]==="function"){h[g].apply(h,Array.prototype.slice.call(f,1))}})}}}})(jQuery);