2 zhengyx19921007yeah zhengyx19921007yeah 于 2014.11.26 12:57 提问

JS 为什么调试单步运行成功而直接运行失败?并且加了个alert后就能直接运行成功

RT 有2个在同一页面的js文件,我是在一个js文件的for循环内逐个调用另一个js 文件的画布数组,然后在for内用drawImage把图画出来,但是程序运行失败,错误是没得到画布。可是如果用调试在获取画布的语句前设断点再单步运行的话能够成功,或者是在获取画布的语句前设个alert之后直接运行就能成功,求问为什么啊!!

2个回答

chenssy
chenssy   Rxr 2014.11.26 13:58

这是延时问题!你需要加一个setTimeout方法即可解决问题!

chenssy
chenssy 回复zhengyx19921007yeah: 把你的程序贴出来看看!
大约 3 年之前 回复
zhengyx19921007yeah
zhengyx19921007yeah 我试过了,但是在for里面用的话,for全部循环完了才能执行延时的程序,那么我只能获得数组里面的最后一个画布了
大约 3 年之前 回复
showbo
showbo   Ds   Rxr 2014.11.26 13:46

应该是你图片没有加载完毕,导致drawImage没有绘制成功。。图片加载是要时间的,你的alert或者断点雕饰都会让图片的加载争取到了时间。。给img增加onload事件,在onload事件中执行drawImage操作

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!