Функция плагина как таковая позволит вам делать то, что вы хотите:
jQuery.fn.rotateClasses = function(classes, interval, max) {
var currentRotation = 0;
var timer = null;
var rotateFn = (function() {
var currentClass = currentRotation % classes.length;
var previousClass = currentClass - 1;
if(previousClass == -1) previousClass = classes.length - 1;
this.addClass(classes[currentClass]).removeClass(classes[previousClass]);
currentRotation += 1;
if(max > 0 && currentRotation >= max) clearInterval(timer);
})();
timer = setInterval(rotateFn, interval);
return this;
};
Тогда вы можете просто позвонить, используя следующее:
$('#mydiv').rotateClasses(["class1", "class2", "class3"], 1000, 20);
Просто измените параметры по своему желанию. Первый параметр - это массив классов, которые нужно повернуть, второй - это интервал, на который их нужно повернуть, а третий - максимальное количество итераций. Если установлено значение 0
, оно повторяется до бесконечности.