如何通过javascript不时地增加和减少图像宽度?
我使用了以下javascript代码,但它不能像心跳一样正常工作:-如何通过javascript不时地增加和减少图像宽度?,javascript,Javascript,我使用了以下javascript代码,但它不能像心跳一样正常工作:- <script> var y = document.getElementById("p2"); var x = document.getElementById('myImg'); setInterval(function(){ x.height = "110"; x.width="120";
<script>
var y = document.getElementById("p2");
var x = document.getElementById('myImg');
setInterval(function(){
x.height = "110";
x.width="120";
setInterval(function(){
x.height = "98";
x.width="107";
},3000);
},2000);
</script>
var y=document.getElementById(“p2”);
var x=document.getElementById('myImg');
setInterval(函数(){
x、 高度=“110”;
x、 宽度=“120”;
setInterval(函数(){
x、 高度=“98”;
x、 宽度=“107”;
},3000);
},2000);
不太清楚您想要实现什么,但。。。如果您只想从一种尺寸切换到另一种尺寸,以下示例可能会对您有所帮助:
var y=document.getElementById(“p2”);
var x=document.getElementById('myImg');
var状态=真;
var timerId;//执行window.clearTimeout(timerId)以停止取消交替
函数替换(){
x、 高度=状态?110:98;
x、 宽度=状态?120:107;
状态=!状态;
timerId=window.setTimeout(可选,1000);
}
交替()代码>
使用鼻窦和动画循环。按设置的间隔开始循环。只需确保动画循环在重新启动之前有时间完成即可。您可以使用CSS宽度和高度,而不是像这里那样使用变换
var img=document.querySelector(“img”),
style=img.style;//使用样式
setInterval(animateHeart,1100);//要设置动画的间隔
函数animateHeart(){
var time=0,//正弦函数的时间
速率=0.2,//正弦函数的速度
半径=0.5;//添加到其比例的100%
(函数loop(){//内部循环
var scale=1+Math.abs(Math.sin(时间)*半径);//计算比例
时间+=速率;
如果(时间>=Math.PI*2){
style.transform=//重置比例
style.webkitttransform=“scale(1,1)”;
回来
}
//将CSS变换设置为平滑缩放(可选。使用宽度/高度)
style.transform=
style.webkitttransform=“scale(“+scale+”,“+scale+”);
requestAnimationFrame(循环);//循环动画
})();
}
很好,但我想通过使用javascript不时更改宽度和高度来完成此动画。还有一种替代方法,可以不时更改两个不同大小的相同图像。@sandeep_1994,在最初的问题中记录您想要实现的目标,而不是在注释中。