我有一个图像,我想要拉伸3秒钟,然后暂停2秒钟,然后伸展3秒钟。就目前而言,我不知道如何暂停它;动画延迟仅适用于动画的开头,而不适用于中间。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Page 2</title>
<style type="text/css">
/* Your styles go here */
img {
width:200px;
height:100px;
animation: widthChange 6s;
-webkit-animation: widthChange 6s;
-moz-animation: widthChange 6s;
-0-animation: widthChange 6s;
}
p {text-align:center}
button {margin:20px}
.stylized {
font-style: italic;
border-width: 5px;
border-color: yellow;
border-style: outset;
}
@-webkit-keyframes widthChange {
0%, 100% {width: 200px;}
50% {width: 400px;}
}
@-o-keyframes widthChange {
0%, 100% {width: 200px;}
50% {width: 400px;} }
@-moz-keyframes widthChange {
0%, 100% {width: 200px;}
50% {width: 400px;}
}
@keyframes widthChange {
0%, 100% {width: 200px;}
50% {width: 400px;}
}
</style>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
// jQuery methods go here...
$(document).ready(function() {
$('img').addClass("loaded");
$('img').addClass("loaded2");
$("#button1").click(function() {
$("button").addClass("stylized");
$("#button1").html("Fancy Button 1");
$("#button2").html("Fancy Button 2");
$("#button3").html("Fancy Button 3");
});
});
});
/* Your additional JavaScript goes here */
</script>
</head>
<body>
<img class = "image" src="elephant.jpg" alt="elephant"/>
<p><button id="button1">Button 1</button><button id="button2">Button 2</button><button id="button3">Button 3</button></p>
</body>
</html>
答案 0 :(得分:6)
尝试这样的事情。如果您将暂停时间添加到总时间(得到8秒而不是6秒),然后计算您希望元素保持静止的时间段(3/8 + 2/8,其中2/8是2秒的暂停时间),然后让元素在结束时返回默认宽度(另外是总时间的3/8),你应该在两者之间暂停2秒。
我这里只使用默认的animation
和@keyframes
。您可以将此代码复制到其他特定于浏览器的版本中以实现兼容性。
animation: widthChange 8s;
@keyframes widthChange {
0% {width: 200px;}
37.5% {width: 400px;}
62.5% {width: 400px;}
100% {width: 200px;}
}
答案 1 :(得分:3)
您可以通过添加其他关键帧来实现此目的,例如:
https://jsfiddle.net/kh3qa3L6/
例如:
@-webkit-keyframes widthChange {
0%, 100% {
width: 200px;
}
25% {
width: 400px;
}
75% {
width: 400px;
}
}