从中心淡出圆形图层 jQuery/GSOP

Fade out circle layer from center jQuery/GSOP

我创建了两层div,一层是背景图片,另一层是黑色图层,正在淡出,似乎还可以,但要求有点不同,淡出层应该从中心开始(圆圈),如下例所示:

这是我创造的,JSfiddle Demo

任何人都可以建议如何实现以圆圈类型为中心的淡出,而不是我创建的淡出吗?我在我的项目中使用了greensock。

请推荐

$(document).ready(function() {
  var videoFade = $(".fade-layer");
  TweenMax.to(videoFade, 14, { x:0 , opacity:0 , ease:Power1.easeInOut ,repeat:-1  });
});
.layer-one{
  background:url(https://i.imgsafe.org/90203acca5.jpg); 
  background-size:cover; 
  background-position:center; 
  position:absolute; 
  left:0; 
  top:0; 
  width:100%; 
  height:100%; 
  z-index:1;
}
.fade-layer{
  background:rgba(0,0,0,1); 
  position:absolute; 
  left:0; 
  top:0; 
  width:100%; 
  height:100%; 
  z-index:2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<div class="layer-one"></div>
<div class="fade-layer"></div>

我并没有真正使用过 GASP,但我能够创建一个快速演示,您必须使用 box-shadow 做什么。你可以用它来实现你想要做的事情。检查此 fiddle:https://jsfiddle.net/1uzj2v5L/4/

$(document).ready(function() {
var videoFade = $(".fade-layer");
    TweenMax.to(videoFade, 5, { x:0 , opacity:0.5 , ease:Power1.easeInOut ,repeat:-1,
    boxShadow:"0px 0px 0px 0px rgb(0,0,0) inset;"});

  });

似乎您可以使用一个元素作为背景,一个伪元素作为黑色覆盖层,一个 radial-gradient() 来创建覆盖圈,以及一个 CSS 动画来淡出覆盖层.

这是一个演示。

div, div:after {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
}
div {
  background: url(https://i.imgsafe.org/90203acca5.jpg);
  background-size: cover;
  background-position: center;
}
div:after {
  content: '';
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.8) 0%, black 100%);
  animation: fadeOut 10s forwards;
}
@keyframes fadeOut {
  to {
    opacity: 0;
  }
}
<div></div>