2012-11-09 9 views
7

W utworzonej przeze mnie grze pisowni jest siatka wypełniona słowami. Celem gry jest przeliterowanie słów poprzez kliknięcie na litery z boku, które animują się w puste przestrzenie w siatce. Słowa są podświetlone, jeśli mają być pisane, aby użytkownik mógł zobaczyć, gdzie iść dalej. Celem gry jest przeliterowanie wymaganej ilości słów w siatce, aby ukończyć grę. Zazwyczaj ustawiam to na dwa, ale właśnie zmieniłem go na 3, a program wciąż pęka po tym, jak przeliteruję drugie słowo.Przerwy w programie jQuery/JavaScript po zmianie numeru zakończenia

if (score.right == 3) { 
    ................ 
    ................ 
} 

Zwykle, gdy się pisze słowo poprawnie używać funkcji „click.trigger”, aby przejść do następnego podświetlone słowo w siatce. W tej chwili po dwóch poprawnych programach albo po prostu nie przechodzi do następnego, albo wraca do poprzedniego i nie pozwala na klikanie liter.

setTimeout(function() { 
        jQuery('.next-question').trigger('click'); 
       }, 1500); 

Próbowałem przejść przez punkty przerwania, ale nie mogę znaleźć problemu. Czy ktoś może mi pomóc, aby znów zadziałało i powiedzieć mi, co się dzieje?

W tej chwili w mojej grze nie ma żadnych obrazów podpowiedzi ani dźwięków podpowiedzi, więc aby znaleźć podświetlone słowo, musisz użyć konsoli. Spróbuj odpowiedzieć dwóm prawym, a następnie się zawiesi.

Oto skrzypce na uszkodzony jeden: http://jsfiddle.net/smilburn/Dxxmh/101/

Oto fidddle do poprzedniego, który pracował w porządku: http://jsfiddle.net/smilburn/Dxxmh/100/ (niektóre nazwy klasy mogły ulec zmianie)

+0

Obrazy nie działają w drugim. – mreq

+0

Po prostu nie przypisałem ich poprawnie. To nie jest problem. Po prostu nie widzę, co się zmieniło, aby się zawiesić @PetrMarek –

+1

Cóż, nie mogę powiedzieć, jakie słowo wprowadzić bez obrazu. Dlatego nie mogę go przetestować poprawnie. Chciałbym pomóc ... – mreq

Odpowiedz

8

pierwsze. Obrazy nie wyświetlają się w nowej wersji, ponieważ dla ich linków używasz względnej ścieżki, która nie istnieje w przypadku jsfiddle. Im wcześniej używa się linków bezwzględnych. To samo dotyczy plików audio.

Następną rzeczą, na początku masz definicje var jak

var hintPic = $("#hintPic")[0]; 

To stwierdzenie Zwraca pierwszy element z zestawu jako zwykłego elementu DOM. Później, kiedy próbujesz go pokazać, nie będzie działać, ponieważ 'show' jest funkcją jquery. Usuń [0] z definicji zmiennych i powinno działać dobrze.

+0

Yup. To jest poprawne! –

+0

Zasługujesz na tę nagrodę. – SoonDead

+0

Tak, robisz. Mam nadzieję, że pytający zapamięta NAGRODĘ –

Powiązane problemy