Write a function to generate callbacks:
var click = 0;
function ClassSwapper(oldClass, newClass)
{
return function()
{
$(this)
.removeClass(oldClass)
.addClass(newClass)
.html('No. of clicks: ' + ++click);
};
}
$('#div-toggle').toggle(
ClassSwapper('format3', 'format1'),
ClassSwapper('format1', 'format2'),
ClassSwapper('format2', 'format3')
);
Note that it toggle()rotates the handlers from the last back to the first, so you probably want your first handler to delete the class the last added ...
, toggle() , click :
var click = 0;
$("#div-toggle").click(function()
{
var classes = ['format1', 'format2', 'format3'];
$(this)
.removeClass(classes[(click-1)%classes.length])
.addClass(classes[(click)%classes.length])
.html('No. of clicks: ' + ++click);
});