编程语言
首页 > 编程语言> > javascript-使用jQuery fadeOut()缩放动画

javascript-使用jQuery fadeOut()缩放动画

作者:互联网

我搜索了一段时间,但没有找到关于此的文章:我正在使用jQuery fadeOut()为元素设置动画.

我想通过使用jQuery的fadeOut()函数以1.75(175%)的比例淡出元素.目前,这是一种常见的淡出动画,但我希望淡出动画可以放大(元素膨胀).

我使用关键帧通过CSS动画制作了一个示例(浅蓝色元素).我想用fadeOut()解决动画(也许您必须向下滚动代码段才能看到示例),这可能吗?我希望这足够清楚.

$('.hide').click(function() {
  $('.animate').fadeOut(500);
});

$('.show').click(function() {
  $('.animate').fadeIn(500);
});
.animate {
  width: 150px;
  height: 150px;
  background-color: lightcoral;
  margin-top: 20px;
}

.animate--css {
  background-color: lightblue;
}

.animate--css {
  width: 150px;
  height: 150px;
  background-color: lightblue;
  margin-top: 20px;
  animation: zoomOut 1s infinite;
}

@keyframes zoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1.75);
    opacity: 0;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="hide">Fade out</button>
<button class="show">Fade in</button>
<div class="animate"></div>
<div class="animate--css"></div>

解决方法:

您可以在元素褪色之前使用start来应用CSS:

$('.hide').click(function() {
  $('.animate').fadeOut({'start':function() {$(this).css('transform','scale(1.75)') },'duration':500});
});

$('.show').click(function() {
  $('.animate').fadeIn({'start':function() {$(this).css('transform','scale(1)') },'duration':500});
});
.animate {
  width: 150px;
  height: 150px;
  background-color: lightcoral;
  margin-top: 20px;
  transition:0.5s all;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="hide">Fade out</button>
<button class="show">Fade in</button>
<div class="animate"></div>

标签:animation,fadeout,css,javascript,jquery
来源: https://codeday.me/bug/20191025/1925836.html