mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Tabs: fixed a few issues in rotate method extension
This commit is contained in:
parent
240a588bce
commit
18171c2f89
@ -640,31 +640,34 @@ $.extend($.ui.tabs.prototype, {
|
||||
rotation: null,
|
||||
rotate: function(ms, continuing) {
|
||||
|
||||
var self = this, o = this.options, t = o.selected;
|
||||
var self = this, o = this.options;
|
||||
|
||||
var rotate = function() {
|
||||
var rotate = self._rotate || (self._rotate = function(e) {
|
||||
clearTimeout(self.rotation);
|
||||
self.rotation = setTimeout(function() {
|
||||
t = ++t < self.anchors.length ? t : 0;
|
||||
self.select(t);
|
||||
var t = o.selected;
|
||||
self.select( ++t < self.anchors.length ? t : 0 );
|
||||
}, ms);
|
||||
};
|
||||
|
||||
var stop = !continuing ?
|
||||
if (e) {
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
|
||||
var stop = self._unrotate || (self._unrotate = !continuing ?
|
||||
function(e) {
|
||||
if (e.clientX) { // in case of a true click
|
||||
clearTimeout(self.rotation);
|
||||
self.element.unbind('tabsshow', rotate);
|
||||
self.rotate(null);
|
||||
}
|
||||
} :
|
||||
function(e) {
|
||||
t = o.selected;
|
||||
rotate();
|
||||
};
|
||||
});
|
||||
|
||||
// start rotation
|
||||
if (ms) {
|
||||
this.element.bind('tabsshow', rotate); // will not be attached twice
|
||||
this.element.bind('tabsshow', rotate);
|
||||
this.anchors.bind(o.event + '.tabs', stop);
|
||||
rotate();
|
||||
}
|
||||
@ -673,6 +676,8 @@ $.extend($.ui.tabs.prototype, {
|
||||
clearTimeout(self.rotation);
|
||||
this.element.unbind('tabsshow', rotate);
|
||||
this.anchors.unbind(o.event + '.tabs', stop);
|
||||
delete this._rotate;
|
||||
delete this._unrotate;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user