jQuery toggle() 支持多种状态,它可以循环通过尽可能多的状态
从文档中:
如果提供了两个以上的处理程序, .toggle() 将在所有处理程序之间循环。例如,如果有三个处理程序,那么第一个处理程序将在第一次单击、第四次单击、第七次单击时调用,以此类推。
以下代码运行良好,循环通过所有三种状态。
$('#tag').toggle(function() {
//set cssClass to 'on'
//remove all other classes
}, function() {
//set cssClass to 'off'
//remove all other classes
}, function() {
//set cssClass to 'none'
//remove all other classes
});
我的问题是,在初始页面加载时,该类被后端设置在#tag 上,但是当单击标签时,toggle() 从第一个切换状态“on”开始循环,而不管初始状态如何。
我想我正在寻找的是一个智能切换,它基于传入的当前状态的选项进入下一个状态。
我可能要添加四个状态,所以我不想要复杂的 if else 语句。
nb 类设置和删除只是一个示例。我正在做其他事情。请不要给出添加和删除类的示例 - 尽管您可以检查类以找到初始状态。