代码之家  ›  专栏  ›  技术社区  ›  Olivier Tremblay

CSS类的Javascript动画?

  •  3
  • Olivier Tremblay  · 技术社区  · 14 年前

    有没有可能在javascript中设置类替换的动画?

    让我们考虑一下:

    .class1 {background-color:blue;}  
    .class2 {background-color:red;}  
    

    如果不是的话,有什么好办法可以达到这个目的?服务器生成的Javascript文件?

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

    对, jQuery 你有时间的时候可以做这个 jQueryUI 也装了。

    请参见此处的演示: http://jqueryui.com/demos/addClass/

    http://jsfiddle.net/hhEpT/

    div { width: 100px; height: 100px; }
    .class1 {background-color:blue;}
    .class2 {background-color:red;}​
    
    <div class='class1'></div>
    
    $('div').addClass('class2', 1000);
    
        2
  •  1
  •   sushil bharwani    14 年前

    如果您可以使用jQuery,它有一个动画功能,可以让您从类1到类2的动画。

    http://api.jquery.com/animate/ 对于普通动画。如另一个答案中所建议的,在类之间使用jqueryui制作动画。

        3
  •  1
  •   Jaco Pretorius    14 年前

    jQuery查询

    <p id="notice" class="class1">This is something to highlight</p>
    

    所以基本上你想用class2替换class1。由于CSS允许您覆盖样式,您只需添加一个新类,它就会覆盖初始效果。

    $("#notice").addClass("class2", 50);
    

    其中50显然是动画所需的时间。为了使这个工作,你需要参考 jQuery jQueryUI

    另一种方法是使用 jQuery动画 方法。基本上,您可以指定驱动动画的css、持续时间和回调。

    $('#clickme').click(function() {
      $('#notice').animate(
          {background-color: yellow}, 
          5000, 
          function() {
            $("#notice").removeClass("class1");
          });
    });