クリックイベントで表示されるはずの画像をキャンバスに表示しようとしています。そして、すべてが大丈夫のようですが、私は長い間修正できないいくつかのバグを見つけました。バグは、最初のページのオープニングランプの画像が表示されないことです。次の手順で再現できます。
- ブラウザでリンクを開きます。
- クリックしてボタンの画像<-透明な長方形が表示されます
- もう一度クリックします。<-長方形が消えます
- もう一度クリックします。<-画像付きの長方形が表示されます
画像が初めて表示されないのはなぜですか?
クリックイベントで表示されるはずの画像をキャンバスに表示しようとしています。そして、すべてが大丈夫のようですが、私は長い間修正できないいくつかのバグを見つけました。バグは、最初のページのオープニングランプの画像が表示されないことです。次の手順で再現できます。
画像が初めて表示されないのはなぜですか?
少なくとも、コードに1つの(非常に一般的な)エラーがあります。このメソッド.onload
は、関数参照が割り当てられることを想定しています。即時関数呼び出しの結果(戻り値)に割り当てますprocessButtonImages(i, delta, buttons[i], object)
。したがって、この関数呼び出しから関数参照を返さない限り(これは返しません)、これは期待どおりに機能しません。
imageonloadイベントで何かを呼び出して設定しています。そのため、最初はすべてが正しく実行されません。このjsfiddleを確認してください。最後にコードを編集しました、http://jsfiddle.net/sKymY/14/