css实现
<div class="ballon"></div>
/*css部分*/ @keyframes scaleDraw { /*定义关键帧、scaleDrew是需要绑定到选择器的关键帧名称*/ 0%{ transform: scale(1); /*开始为原始大小*/ } 25%{ transform: scale(1.1); /*放大1.1倍*/ } 50%{ transform: scale(1); } 75%{ transform: scale(1.1); } } .ballon{ width: 150px; height: 200px; background: url("images/balloon.png"); background-size: 150px 200px; -webkit-animation-name: scaleDraw; /*关键帧名称*/ -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/ -webkit-animation-iteration-count: infinite; /*动画播放的次数*/ -webkit-animation-duration: 5s; /*动画所花费的时间*/ }
上面的几个属性也可以合在一起写
-webkit-animation: scaleDraw 5s ease-in-out infinite;
参考
https://www.cnblogs.com/si-dian/p/11993515.html
jquery实现
传统方案,setinterval函数加animate完全不用动脑。。。只需要setinterval函数周期执行animate函数即可,两个函数时间参数要一致
var css = {left:'500px'}; setInterval(function(){ $('.arrow').animate(css,300,rowBack); },300); function rowBack(){ if(css.left==='50px') css.left='500px'; else if(css.left==='500px') css.left='50px'; }
参考
https://blog.csdn.net/cyp18408251336/article/details/52738924