停止动画javaScript或jQuery

停止动画javaScript或jQuery,javascript,jquery,css-animations,Javascript,Jquery,Css Animations,我想把车停在红绿灯旁边。现在,我只能在它靠近它的时候阻止它,但如果它太远,它就会通过红灯。我想这是一个无限循环,但当汽车靠近红绿灯时,我的循环就结束了 toFixed用于以百分比获得左侧位置: document.getElementById('stopLight')。onclick=illuminated; document.getElementById('slowLight')。onclick=illuminatedyellow; document.getElementById('goLig

我想把车停在红绿灯旁边。现在,我只能在它靠近它的时候阻止它,但如果它太远,它就会通过红灯。我想这是一个无限循环,但当汽车靠近红绿灯时,我的循环就结束了

toFixed
用于以百分比获得左侧位置:

document.getElementById('stopLight')。onclick=illuminated;
document.getElementById('slowLight')。onclick=illuminatedyellow;
document.getElementById('goLight')。onclick=illuminatedgreen;
函数illuminatedgreen(){
清晰的灯光();
document.getElementById('goLight').style.backgroundColor=“绿色”;
var x=document.getElementsByClassName(“car”);
var i;
对于(i=0;i如果((percentCarLeft.toFixed(0)>=percentPanLeft.toFixed(0)-10)&(percentCarLeft.toFixed(0),则代码的问题在于while循环会阻止动画的执行,从而导致它正在检查的条件永远无法满足。有两种方法可以实现这一点:

  • 每次浏览器渲染帧时使用检查条件
  • 定期检查使用情况
  • 下面,我将演示第二种方法。当灯变红时,将在一段时间间隔内开始检查,该时间间隔将在车辆接近时停止车辆。该时间间隔为车辆停止后的时间间隔

    这似乎工作得很好。请注意,您可能希望在车辆到达灯光前清除灯光变为黄色或绿色的间隔。为了简单起见,这不在下面的演示中

    另一个注释:您在代码中使用了>WebKET-< /Cord>前缀,但是您可能也想考虑使用。并且在没有实现任何前缀的情况下使用该版本。

    document.getElementById('stopLight')。onclick=illuminated;
    document.getElementById('slowLight')。onclick=illuminatedyellow;
    document.getElementById('goLight')。onclick=illuminatedgreen;
    函数illuminatedgreen(){
    清晰的灯光();
    document.getElementById('goLight').style.backgroundColor=“绿色”;
    var x=document.getElementsByClassName(“car”);
    var i;
    对于(i=0;i如果((percentCarLeft.toFixed(0)>=percentPanLeft.toFixed(0)-10)&(percentCarLeft.toFixed(0),则代码的问题在于while循环会阻止动画的执行,从而导致它正在检查的条件永远无法满足。有两种方法可以实现这一点:

  • 每次浏览器渲染帧时使用检查条件
  • 定期检查使用情况
  • 下面,我将演示第二种方法。当灯变红时,将在一段时间间隔内开始检查,该时间间隔将在车辆接近时停止车辆。该时间间隔为车辆停止后的时间间隔

    这似乎工作得很好。请注意,您可能希望在车辆到达灯光前清除灯光变为黄色或绿色的间隔。为了简单起见,这不在下面的演示中

    另一个注释:您在代码中使用了>WebKET-< /Cord>前缀,但是您可能也想考虑使用。并且在没有实现任何前缀的情况下使用该版本。

    document.getElementById('stopLight')。onclick=illuminated;
    document.getElementById('slowLight')。onclick=illuminatedyellow;
    document.getElementById('goLight')。onclick=illuminatedgreen;
    函数illuminatedgreen(){
    清晰的灯光();
    document.getElementById('goLight').style.backgroundColor=“绿色”;
    var x=document.getElementsByClassName(“car”);
    var i;
    对于(i=0;i=百分比PANLEFT.toFixed(0)-10)&(百分比CALLEFT.toFixed(0)