2012-02-18 53 views
2

是否有一种构建方式可以“旋转”类似于切换类的JQuery中的类列表?JQuery中的“旋转”类

例如:

$("#MyElt").rotateClass("Cl1 Cl2 Cl3"); 
$("#MyElt").rotateClass("Cl1 Cl2 Cl3"); 
$("#MyElt").rotateClass("Cl1 Cl2 Cl3"); 
$("#MyElt").rotateClass("Cl1 Cl2 Cl3"); 

上MYElt类的每次通话后的状态应该是:

Cl1 
Cl2 
Cl3 
NO CLASS 
+0

您是在寻找水平旋转还是垂直旋转? – 2012-02-18 13:49:46

+0

@SivaCharan不是视觉旋转,更多的是通过类列表循环。的 – 2012-02-18 13:54:03

+0

可能重复[jQuery的:通过一组类旋转元件(http://stackoverflow.com/questions/8402350/jquery-rotating-elements-through-a-set-of-classes) – 2012-02-18 14:06:23

回答

2

为了您的快速参考,我粘贴了代码jQuery: Rotating elements through a set of classes

我想,这应该对你有帮助。

$.fn.rotateClass(/* pass multiple class names here */) { 
    for (var i = 0; i < arguments.length; i++) { 
     if (this.hasClass(arguments[i])) { 
      this.removeClass(arguments[i])); 
      i++; 
      if (i >= arguments.length) { 
       i = 0; 
      } 
      this.addClass(arguments[i]); 
      return(this); 
     } 
    } 
    // none found so set the first class 
    if (arguments.length > 0) { 
     this.addClass(arguments[0]); 
    } 
    return(this); 
} 
+0

谢谢!这将教会我使用Google搜索而不是SO搜索。 – 2012-02-18 14:03:18

+0

难道不应该是'$ .fn.rotateClass =函数(){...'? – Mahn 2013-01-31 23:58:43

+0

检查也是我的版本的插件在这里:http://stackoverflow.com/a/14637729/1329367 – Mahn 2013-02-01 00:35:38

0

使用hasClass()toggleClass,你可以让你自己的。