如何使html中的平滑缩放效果?

妮基·金卡(Nikhil Kinkar)

我想使使用缩放的视频的缩放过渡更加平滑transform:scale(val),因为您可以看到过渡是直接发生的,没有任何平滑度。

let scale = 1;
$('.plus').on('click',function(){
	$('.sample_video').css('transform','scale('+(scale+=0.25)+')');
});
$('.minus').on('click',function(){
	$('.sample_video').css('transform','scale('+(scale-=0.25)+')');
});
body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}
button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}
.btnDiv {
  position:fixed;
  bottom:0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<video class="sample_video" controls src="http://www.archive.org/download/AnimatedMechanicalArtPiecesAtMit/P1120973_512kb.mp4" autoplay>
</video>
<div class="btnDiv">
<button class="plus">
zoom in
</button>
<button class="minus">
zoom out
</button>
</div>

罗里·麦克罗森(Rory McCrossan)

要平滑缩放效果,可以使用transitionCSS中属性:

.sample_video {
  transition: transform 0.3s;
}

let scale = 1;
$('.plus').on('click', function() {
  $('.sample_video').css('transform', 'scale(' + (scale += 0.25) + ')');
});
$('.minus').on('click', function() {
  $('.sample_video').css('transform', 'scale(' + (scale -= 0.25) + ')');
});
body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

.btnDiv {
  position: fixed;
  bottom: 0px;
}

.sample_video {
  transition: transform 0.3s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<video class="sample_video" controls src="http://www.archive.org/download/AnimatedMechanicalArtPiecesAtMit/P1120973_512kb.mp4" autoplay>
</video>
<div class="btnDiv">
  <button class="plus">
zoom in
</button>
  <button class="minus">
zoom out
</button>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章