【发布时间】:2015-04-28 19:17:07
【问题描述】:
我有以下代码:
$('.div-1').on('click', function() {
$('.block').addClass('animated');
});
$('.div-2').on('click', function() {
$('.block2').addClass('animated');
});
html,
body {
height: 100%;
}
.div-1 {
display: inline-block;
padding: 40px;
background: tomato;
}
.div-2 {
display: inline-block;
padding: 40px;
background: tan;
}
.block2 {
background: green;
}
.animated {
-webkit-animation: animateThis 0.2s ease;
animation: animateThis 0.2s ease;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
.block {
background: red;
}
@-webkit-keyframes animateThis {
0% {
height: 0;
width: 0;
}
100% {
height: 100%;
width: 100%;
}
}
keyframes animateThis {
0% {
height: 0;
width: 0;
}
100% {
height: 100%;
width: 100%;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div-1"></div>
<div class="div-2"></div>
<section class="block"></section>
<section class="block2"></section>
这是一个PEN
我要做什么:当单击div-1 或div-2 时,block 和block2 部分的相应动画应该来自div-1 的底部中心或div-2。它目前从左角开始动画。
我的问题是:如何让动画源自div-1 或div-2 的底部中心,而不是左角。此外,当单击div-1 或div-2 时,当前打开的部分应关闭(带有打开方式的反向动画),相应的单击div 应作为新动画打开。这如何通过脚本来完成?我不想使用外部库(animate.css)。我已经尝试了几种方法,但我不知道该怎么做,因为我无法弄清楚逻辑。
【问题讨论】:
标签: jquery html css css-animations