summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJed Foster <jed@jedfoster.com>2013-07-24 20:46:09 -0700
committerJed Foster <jed@jedfoster.com>2013-07-24 20:46:09 -0700
commitf7dfa6a9450ff9f9ddffdd41aa900dbbb93400aa (patch)
tree913a177515ddf26f3d03e976a98bc7d0a945fc91
parente6e5e6cd62b4e1d61a09e57d3091e248cdd20740 (diff)
downloadReadmore.js-f7dfa6a9450ff9f9ddffdd41aa900dbbb93400aa.zip
Readmore.js-f7dfa6a9450ff9f9ddffdd41aa900dbbb93400aa.tar.gz
Readmore.js-f7dfa6a9450ff9f9ddffdd41aa900dbbb93400aa.tar.bz2
Refactor open/close methods as toggle
-rw-r--r--readmore.js29
1 files changed, 14 insertions, 15 deletions
diff --git a/readmore.js b/readmore.js
index e606f25..173a615 100644
--- a/readmore.js
+++ b/readmore.js
@@ -46,7 +46,7 @@
return true;
}
else {
- current.after($($this.options.moreLink).on('click', function(event) { $this.openSlider(this, current, event) }));
+ current.after($($this.options.moreLink).on('click', function(event) { $this.toggleSlider(this, current, event) }));
}
sliderHeight = maxHeight;
@@ -55,27 +55,26 @@
});
},
- openSlider: function(trigger, element, event)
+ toggleSlider: function(trigger, element, event)
{
event.preventDefault();
var $this = this,
- open_height = $(element).data().boxHeight + "px";
+ newHeight = newLink = '';
- $(element).animate({"height": open_height}, {duration: $this.options.speed });
+ if ($(element).height() == sliderHeight) {
+ newHeight = $(element).data().boxHeight + "px";
+ newLink = 'lessLink';
+ }
- $(trigger).replaceWith($($this.options.lessLink).on('click', function(event) { $this.closeSlider(this, element, event) }));
- },
-
- closeSlider: function(trigger, element, event)
- {
- event.preventDefault();
-
- var $this = this;
+ else {
+ newHeight = sliderHeight;
+ newLink = 'moreLink';
+ }
- $(element).animate({"height": sliderHeight}, {duration: $this.options.speed });
+ $(element).animate({"height": newHeight}, {duration: $this.options.speed });
- $(trigger).replaceWith($($this.options.moreLink).on('click', function(event) { $this.openSlider(this, element, event) }));
+ $(trigger).replaceWith($($this.options[newLink]).on('click', function(event) { $this.toggleSlider(this, element, event) }));
}
};
@@ -96,4 +95,4 @@
});
}
}
-})(jQuery); \ No newline at end of file
+})(jQuery);