我已经使用(Animate.CSS)实现了一个成功的滑块,但它使用的是CSS 3,它在IE中运行良好或根本没用,所以我想我们可能会使用JavaScript / Jquery提出的动画就像Animate.CSS提供的动画......
我该如何实现这一目标?
答案 0 :(得分:1)
Animate.css使用仅适用于IE10 +的@keyframe
。 transition
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">» Animate Block1</button>
<button id="go2">» Animate Block2</button>
<button id="go3">» Animate Both</button>
<button id="go4">» 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>