Animate.css库以等效的jquery代码在IE上工作

时间:2014-09-08 16:14:22

标签: javascript jquery css3 animation

我已经使用(Animate.CSS)实现了一个成功的滑块,但它使用的是CSS 3,它在IE中运行良好或根本没用,所以我想我们可能会使用JavaScript / Jquery提出的动画就像Animate.CSS提供的动画......

我该如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

Animate.css使用仅适用于IE10 +的@keyframetransition CSS属性也不起作用。

http://caniuse.com/#search=keyframe

http://caniuse.com/#search=transition

您必须使用jQuery animate()方法。

链接到文档:

http://api.jquery.com/animate/

使用@keyframes制作的动画可以看起来好多了,因为您设置了动画的每一帧。但它不能在IE9或更低版本中工作,没有办法。您应该使用jQuery animate()方法。

看一个很好的例子:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>animate demo</title>
  <style>
  div {
    background-color: #bca;
    width: 200px;
    height: 1.1em;
    text-align: center;
    border: 2px solid green;
    margin: 3px;
    font-size: 14px;
  }
  button {
    font-size: 14px;
  }
  </style>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>

<button id="go1">&raquo; Animate Block1</button>
<button id="go2">&raquo; Animate Block2</button>
<button id="go3">&raquo; Animate Both</button>
<button id="go4">&raquo; Reset</button>
<div id="block1">Block1</div>
<div id="block2">Block2</div>

<script>
$( "#go1" ).click(function() {
  $( "#block1" )
    .animate({
      width: "90%"
    }, {
      queue: false,
      duration: 3000
    })
    .animate({ fontSize: "24px" }, 1500 )
    .animate({ borderRightWidth: "15px" }, 1500 );
});

$( "#go2" ).click(function() {
  $( "#block2" )
    .animate({ width: "90%" }, 1000 )
    .animate({ fontSize: "24px" }, 1000 )
    .animate({ borderLeftWidth: "15px" }, 1000 );
});

$( "#go3" ).click(function() {
  $( "#go1" ).add( "#go2" ).click();
});

$( "#go4" ).click(function() {
  $( "div" ).css({
    width: "",
    fontSize: "",
    borderWidth: ""
  });
});
</script>

</body>
</html>