代码之家  ›  专栏  ›  技术社区  ›  slik

jquery函数

  •  3
  • slik  · 技术社区  · 14 年前

    我正在尝试从HTML标记中删除一个类,同时添加一个新的类,并做一些其他的魔术。

    现在我有一个过程式的编码正在进行…我知道还有另一种方法。比如在另一个函数中创建一个函数?我不确定它叫什么,有时当尝试这样做时,它从来没有起作用,所以我选择了过程样式类型,但我认为我在这里发布了,也许有人可以向我解释jquery是如何工作的?现在我有

    $(this).removeClass("theClass");
    $(this).addClass("theClass");
    $(this).slideDown();
    

    我想我能做点什么

    $(this).removeClass("theClass", function(){
      // other goodness?
    });
    

    谢谢大家。对不起,如果我不明白的话。

    3 回复  |  直到 14 年前
        1
  •  5
  •   Tim    14 年前

    我认为您要查找的是调用链接-因为.removeClass返回 jQuery object 本身,您可以直接对返回的对象调用.addClass,如下所示:

    $(this).removeClass("classA").addClass("classB").slideDown();

    有些动画还具有 callback 作为参数;这些函数指定动画完成后要采取的操作。例如:

    $(this).fadeOut("slow", function() {
        // Callback function - called after fade is done
        alert("fade complete");
    });
        2
  •  2
  •   Gert Grenander Keiron Lowe    14 年前

    您可以这样做:

    $(this).removeClass("theClass").addClass("theNewClass").slideDown();
    

    您可以阅读有关链接的更多信息 here .

        3
  •  2
  •   Mariusz Alef Bąk    14 年前

    这取决于你想要实现什么。如果您只想按顺序执行这三个操作,那么可以使用前面提到的链接。如果希望在幻灯片完成动画后执行某些操作,可以这样做:

    var that = this;
    $(this).removeClass("theClass").sildeDown(function() {
      $(that).addClass("theClass");
    });
    

    它将从元素中移除类,将其向下滑动,滑动完成后,它将再次添加类。使用 that 变量在回调匿名函数中是必需的 this 关键字可以引用dom元素以外的其他内容。 希望有帮助!