Tabs: fixed stopping a rotation

This commit is contained in:
Klaus Hartl 2009-02-28 22:10:30 +00:00
parent 517d5ab62c
commit a02ac5f372

View File

@ -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