3

私のワードゲームでは、単語<ul>を保持する単語のリスト、単語に関連する画像、および単語に関連する音があります。

ゲームが実行されると、スクリプトは、私が「maxWords」と述べた単語の量から動的にグリッドを作成します。

私が抱えている問題は、プログラムを実行すると、単語の1つが欠落していることがありますが、画像と音声はまだ存在しているということです。

これは、グリッドに大きな単語を受け入れさせてから始まったばかりで、なぜこれが起こっているのかを見つけるのに苦労しています。

これがHTMLに保存されているwordListです...

 <ul style="display:none;" id="wordlist">

    <li data-word="mum" data-audio="http://www.wav-sounds.com/cartoon/porkypig2.wav" data-pic="http://www.clker.com/cliparts/5/e/7/f/1195445022768793934Gerald_G_Lady_Face_Cartoon_1.svg.med.png"></li>

    <li data-word="lion" data-audio="http://www.wav-sounds.com/cartoon/bugsbunny2.wav" data-pic="http://www.clker.com/cliparts/c/9/9/5/119543969236915703Gerald_G_Cartoon_Cat_Face.svg.med.png"></li>

    <li data-word="bear" data-audio="http://www.wav-sounds.com/cartoon/daffyduck1.wav" data-pic="http://www.clker.com/cliparts/a/2/c/0/1195440948271207911zeimusu_spotty_dog.svg.med.png"></li>

    <li data-word="beetle" data-audio="http://www.wav-sounds.com/cartoon/daffyduck2.wav" data-pic="http://www.clker.com/cliparts/4/b/4/2/1216180545881311858laurent_scarabe.svg.med.png"></li>

    <li data-word="rat" data-audio="http://www.wav-sounds.com/cartoon/bugsbunny1.wav" data-pic="http://www.clker.com/cliparts/C/j/X/e/k/D/mouse-md.png"></li>

    <li data-word="father" data-audio="http://www.wav-sounds.com/cartoon/porkypig1.wav" data-pic="http://www.clker.com/cliparts/3/a/6/6/119544474191128182Gerald_G_Man_Face_6_-_World_Label.svg.med.png"></li>

  </ul>

スクリプトはかなり大きいので、ここにhttp://jsfiddle.net/smilburn/HZX6k/4/を見るフィドルがあります

4

1 に答える 1

1

問題は解決しないかもしれませんが、コメントで誤解を招くような議論が見られ、おそらく簡単に修正できるコード障害がいくつか見られます。

$() 構文は、選択するとき、および次のように jQuery セレクターを変数に入れるときに jQuery メソッドに必要です。

var yourvar = $("#selector")

$() はもう必要ありません。jquery メソッド呼び出しのために yourvar.whatever() に行くだけです。pic 変数には、言うまでもなくセレクターではないため、おそらくメソッド show がありません。

現在の角括弧 (配列) セレクターの代わりに :nth-child() セレクターを使用することをお勧めします

さて、これはpicを解決し、より大きな言葉ミステリーを解決しません:D

より大きな言葉については、ハードコーディングされた条件を調べて、コードの中断を引き起こす可能性のある場所をログに記録する必要があります。問題がどこにあるかを確認するために、ループの中断であると想定しています。

于 2012-09-19T10:08:39.317 に答える