如何通过javascript不时地增加和减少图像宽度?

如何通过javascript不时地增加和减少图像宽度?,javascript,Javascript,我使用了以下javascript代码,但它不能像心跳一样正常工作:- <script> var y = document.getElementById("p2"); var x = document.getElementById('myImg'); setInterval(function(){ x.height = "110"; x.width="120";

我使用了以下javascript代码,但它不能像心跳一样正常工作:-

<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,在最初的问题中记录您想要实现的目标,而不是在注释中。