javascript和src更改的计时?

javascript和src更改的计时?,javascript,delay,src,Javascript,Delay,Src,好的,当我按下箭头键时,我使用这个javascript来使用箭头键发送这些javascript。我有一个协作脚本,它使right('img')命令移动图像,但我试图在图像移动时更改图像,同时使用src更改和延迟。帮忙 <script type="text/javascript"> document.onkeydown = KeyCheck; function KeyCheck(event) { var spacebar=32 var KeyID = event

好的,当我按下箭头键时,我使用这个javascript来使用箭头键发送这些javascript。我有一个协作脚本,它使right('img')命令移动图像,但我试图在图像移动时更改图像,同时使用src更改和延迟。帮忙

<script type="text/javascript">
document.onkeydown = KeyCheck;       
function KeyCheck(event) {

  var spacebar=32
  var KeyID = event.keyCode;
  switch(KeyID) {

      case 39:
        right('img'); 
        document.getElementById('img').src = 'guyr.png';
        setTimeout("right('img'); 
        document.getElementById('img').src = 'runr.png'; 
        setTimeout("right('img'); 
        document.getElementById('img').src = 'guyr.png';",100);",100);
      break;

   }

}
</script>

document.onkeydown=KeyCheck;
功能键检查(事件){
var spacebar=32
var KeyID=event.keyCode;
开关(KeyID){
案例39:
权利(“img”);
document.getElementById('img').src='guyr.png';
设置超时(“右('img');
document.getElementById('img').src='runr.png';
设置超时(“右('img');
document.getElementById('img').src='guyr.png';“,100);”,100);
打破
}
}

更改图像的
src
属性将触发一个异步GET请求,并且在浏览器缓存图像之前,可能一开始速度较慢。看起来你正在实施某种游戏?与更改单个图像的
src
不同,我会先隐藏所有图像,然后切换要显示/隐藏的图像的
visibility
CSS属性。这样,您就可以预先获取加载期间所需的所有图像,并简单地显示/隐藏元素作为
onkeydown
事件的处理程序。

如果您想做某种游戏或动画,请尝试阅读一些关于它的知识,如何构建游戏循环、动画等

但是,如果您只是在做某种测试,请尝试以下内容,这不是一个漂亮的代码,但动画的想法应该是可行的:

document.onkeydown = KeyCheck;

function KeyCheck(event) {

    var spacebar = 32;
    var KeyID = event.keyCode;

    switch (KeyID) {

    case 39:

        function guy(fn) {
            right('img');
            document.getElementById('img').src = 'guyr.png';
            setTimeout(function() {
                fn(guy);
            }, 100);
        }
        function run(fn) {
            right('img');
            document.getElementById('img').src = 'runr.png';
            setTimeout(function() {
                fn(run);
            }, 100);
        }

        guy(run);

        break;
    }

}

一个函数调用另一个函数,通过参数接收,以便继续动画。

您也可以使用CSS精灵,查找它们!是的,有几种方法可以做到这一点,包括几个UI框架,它们将极大地帮助您。的确!精灵在游戏制作中被大量使用(假设你正在制作一个游戏)。好吧,我可以给你发送代码,为了学习javascript,我开始了一个项目,制作一个全html/javascript的网站,让一个人通过你的箭头键移动,但仅仅有一个男人移动的图像并不是很好,所以我试着让他运行。我清理了一下你的代码。为了支持@Sime,您可能需要重新访问您的代码。@Tom代码仍然被破坏。不能在多行中跨越字符串。上述代码将在您的浏览器中产生错误。@Tom我已经更正了代码。请看这里:谢谢@Tom,但这只是一个节选,还有一个左侧案例和一个上下案例。左侧和右侧是唯一需要src更改的案例