我正在使用jquery动画div,但当我尝试点击图标关闭它,动画执行的持续时间,但然后恢复回。jquery动画最初工作,但当试图撤消动画,它一直弹回
HTML:
<div class="flex-container">
<div class="flex-items"><i class="fa fa-reply fa-2x"></i></div>
</div>
CSS:
.flex-container{
display: flex;
width: 80vw;
margin: 0 auto;
padding-top: 200px;
flex-flow: row wrap;
justify-content: center;
}
.flex-items{
width: 300px;
height: 300px;
border: 1px solid black;
}
i{
visibility: hidden;
float: right;
}
的jquery:
$(document).ready(function(){
$(".flex-items").click(function(){
$(this)
.animate({
width: '+=800px',
height: '+=400px'},{
duration: 300,
ease: "linear"})
.css("order", "1");
i = $(this).children();
$(i).css("visibility" ,"initial");
currentFlexItem = $(this);
});
$("i").click(function(){
$(".flex-items").animate({
width: '300px',
height: '300px'},{
duration: 300,
ease: "linear"});
}).css("visibility", "hidden");
});
我在jQuery代码的想法是第一,检测是否平方(.flex-项目)被点击。一旦点击了正方形,我就会对宽度和高度进行动画处理(顺序看起来对问题没有影响)。然后我检测到i标签是否被点击,点击后,这个想法是“撤销”我最初做出的改变。
有没有更简单的方法呢?我对jquery相当陌生。
感谢您链接codepen,顺便说一句。使理解和回答你的问题变得更容易。 – vastlysuperiorman