Почему мои вопросы и оценки обновляются неправильно в игре на основе JSON

#javascript #json

#javascript #json

Вопрос:

Итак, я создал небольшую игру jeopardy, и все это работает, за исключением моей функции, которая обрабатывает ответ (если ответ был отправлен нами).

Что я хочу, чтобы произошло

Когда вы отправляете ответ, вопрос должен удалить класс, unanswered а gain добавить соответствующее значение к score переменной.

Что он делает в данный момент

После отправки ответа класс unanswered остается присутствующим (позволяя пользователям щелкнуть вопрос, на который они ответили заранее). Обновление оценки действительно работает*

  • За исключением того, что он принимает первое значение и применяет 100 пунктов к каждому вопросу, поэтому из 3 вопросов мой максимум — это 300 то, что должно быть 600 .

Поскольку это приложение приличного размера, я включу ниже plunkr, но вот мои файлы:

Обрабатывать функцию ответа

 var category = $(this).parent().data('category');
var value = $(this).data('question');
var score = $('#unanswered').html();
var tempvar = x[category][value];
var answers = $('#answers');    
 
function handleAnswer(){
    $('.answer').click(function(){// hide empty the tile, mike it unclickable, update the score if correct, and hide the modal
        var tile = $('div[data-category="' $(this).data('category') '"]>[data-question="' $(this).data('question') '"]')[0];
        $(tile).empty().removeClass('unanswered').unbind().css('cursor','not-allowed');
        if ($(this).data('correct')){
            score  = parseInt($(this).data('value'));
        }
        $('#question-modal').modal('hide');
        updateScore();
    });
}
  

Questions.JSON

Полностью рабочий пример PLUNKR

Вещи, которые я пробовал

Честно говоря, я создавал это 3 разных раза, пробуя разные маршруты прохождения, и, похоже, я не могу заставить их все работать вместе. Я перепутал разные переменные и всю структуру JSON.


Спасибо, что взглянули, я ценю любую помощь или направление, на которые вы можете мне указать!

Комментарии:

1. Только с тем, что вы показали, ничто не кажется явно неправильным. Пожалуйста, покажите нам задействованную HTML-часть.

2. @cFreed Я добавлю это выше, но я не хочу, чтобы вопрос получился слишком длинным по формату, вы можете найти HTML в этой ссылке plunkr , но я также включу его в этот pastebin

3. Ваши ссылки не показывают ни одной части HTML, связанной с вашим вопросом. Я предполагаю, что они должны находиться в (в настоящее время пустом в том, что показывают ваши ссылки) <div id="answers"> и, вероятно, .answer являются классифицированными элементами и их содержимым. Пожалуйста, покажите хотя бы шаблон этого.

4. @cFreed ой, забыл выложить мой plunk в открытый доступ, попробуйте эту plunkr ссылку сейчас

5. Глядя на scripts.js , я вижу, что именно здесь вы создаете вопросы, которые идут внутри <div id="answers"> . Что я заметил, так это то, что у вас, похоже, есть id="unanswered" ответ на любой вопрос: это незаконно и может (или нет) привести к тому, что что-то еще пойдет не так. Но я ни в чем не уверен (кстати, вы должны понимать, что мы не хотим локально запускать целые проекты, а только просматривать ваш код и искать, что не так). Итак, еще раз, пожалуйста, опубликуйте полный и точный пример HTML-кода типичного вопроса.