From: Klaus Hartl Date: Sat, 28 Feb 2009 22:10:30 +0000 (+0000) Subject: Tabs: fixed stopping a rotation X-Git-Tag: 1.7~22 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a02ac5f3721c14b2a20c29cdc7ddefc460a9f308;p=jquery-ui.git Tabs: fixed stopping a rotation --- diff --git a/ui/ui.tabs.js b/ui/ui.tabs.js index 2a7b30a40..cfbdbd4a8 100644 --- a/ui/ui.tabs.js +++ b/ui/ui.tabs.js @@ -639,29 +639,30 @@ $.extend($.ui.tabs.prototype, { var self = this, o = this.options, t = o.selected; - function rotate() { + var rotate = function() { clearTimeout(self.rotation); self.rotation = setTimeout(function() { t = ++t < self.anchors.length ? t : 0; self.select(t); }, ms); - } + }; + + var stop = !continuing ? + function(e) { + if (e.clientX) { // in case of a true click + clearTimeout(self.rotation); + self.element.unbind('tabsshow', rotate); + } + } : + function(e) { + t = o.selected; + rotate(); + }; // start rotation if (ms) { this.element.bind('tabsshow', rotate); // will not be attached twice - this.anchors.bind(o.event + '.tabs', !continuing ? - function(e) { - if (e.clientX) { // in case of a true click - clearTimeout(self.rotation); - self.element.unbind('tabsshow', rotate); - } - } : - function(e) { - t = o.selected; - rotate(); - } - ); + this.anchors.bind(o.event + '.tabs', stop); rotate(); } // stop rotation