summaryrefslogtreecommitdiffstats
path: root/debian/missing-sources/jquery.stickytabs.js
diff options
context:
space:
mode:
Diffstat (limited to 'debian/missing-sources/jquery.stickytabs.js')
-rw-r--r--debian/missing-sources/jquery.stickytabs.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/missing-sources/jquery.stickytabs.js b/debian/missing-sources/jquery.stickytabs.js
new file mode 100644
index 0000000..864f561
--- /dev/null
+++ b/debian/missing-sources/jquery.stickytabs.js
@@ -0,0 +1,61 @@
+/**
+ * jQuery Plugin: Sticky Tabs
+ *
+ * @author Aidan Lister <aidan@php.net>
+ * @version 1.2.0
+ */
+(function ( $ ) {
+ $.fn.stickyTabs = function( options ) {
+ var context = this
+
+ var settings = $.extend({
+ getHashCallback: function(hash, btn) { return hash },
+ selectorAttribute: "href",
+ backToTop: false,
+ initialTab: $('li.active > a', context)
+ }, options );
+
+ // Show the tab corresponding with the hash in the URL, or the first tab.
+ var showTabFromHash = function() {
+ var hash = settings.selectorAttribute == "href" ? window.location.hash : window.location.hash.substring(1);
+ var selector = hash ? 'a[' + settings.selectorAttribute +'="' + hash + '"]' : settings.initialTab;
+ $(selector, context).tab('show');
+ setTimeout(backToTop, 1);
+ }
+
+ // We use pushState if it's available so the page won't jump, otherwise a shim.
+ var changeHash = function(hash) {
+ if (history && history.pushState) {
+ history.pushState(null, null, window.location.pathname + window.location.search + '#' + hash);
+ } else {
+ scrollV = document.body.scrollTop;
+ scrollH = document.body.scrollLeft;
+ window.location.hash = hash;
+ document.body.scrollTop = scrollV;
+ document.body.scrollLeft = scrollH;
+ }
+ }
+
+ var backToTop = function() {
+ if (settings.backToTop === true) {
+ window.scrollTo(0, 0);
+ }
+ }
+
+ // Set the correct tab when the page loads
+ showTabFromHash();
+
+ // Set the correct tab when a user uses their back/forward button
+ $(window).on('hashchange', showTabFromHash);
+
+ // Change the URL when tabs are clicked
+ $('a', context).on('click', function(e) {
+ var hash = this.href.split('#')[1];
+ var adjustedhash = settings.getHashCallback(hash, this);
+ changeHash(adjustedhash);
+ setTimeout(backToTop, 1);
+ });
+
+ return this;
+ };
+}( jQuery )); \ No newline at end of file