Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2021, 20:52
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

Обновление слов в тренажере
Есть приложение для запоминания английских слов:
<div class="hed">
        <h1>Тренажер</h1>
        <h2>для изучения английских слов.</h2>
    </div>
    <div class="wrap">
        <div class="flexss">
           <h1 class="word"></h1>
           <input class="in" type="text"  placeholder="перевод"name="answer" id="iin">
          <button class="sadm">Go</button>
        </div>
        <h1 class="aut "></h1>
</div>

let jes=[
  {"inglih":"father","rus":"отец"},
  {"inglih":"boy" ,"rus":"мальчик"}, 
];

let inp=document.querySelector("#iin");
let word=document.querySelector(".word");
let aut=document.querySelector(".aut")
let batt=document.querySelector(".sadm");

let b=0;
//
let wo=jes[b].inglih;
let ru=jes[b].rus;
word.innerHTML=`${ru}`;
  
 batt.addEventListener( "click",function(){
    let res=inp.value;
    if(res==wo){
      if(aut.classList.contains("coll")){
        aut.classList.remove("coll");
                  }
    aut.innerHTML=`Молодец!Все правильно`;
  }
   else {
       aut.classList.add("coll")
       aut.innerHTML=`Не верно,попробуй еще`;
       
  };})

Один вывод делает а вот как заставить чтоб при выполнении if т.е (правильном ответе) увеличивалась переменная b и вывести данные с другого объекта не пойму.
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2021, 21:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

aleks330,
написать функцию вместо строк 14 и 15, и добавить в строку 22
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2021, 21:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

aleks330,
<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .coll {
            border: 2px red solid;
        }

        .sadm:after {
            content: attr(data-txt);
        }
    </style>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            let jes = [{
                    "inglih": "father",
                    "rus": "отец"
                },
                {
                    "inglih": "boy",
                    "rus": "мальчик"
                },
            ];
            let inp = document.querySelector("#iin");
            let word = document.querySelector(".word");
            let aut = document.querySelector(".aut")
            let batt = document.querySelector(".sadm");
            let b = -1;

            function more() {
                b = ++b % jes.length;
                let ru = jes[b].rus;
                word.innerHTML = `${ru}`;
                aut.innerHTML = '';
                batt.dataset.txt = "Go"
            }
            more();
            batt.addEventListener("click", function() {
                let res = inp.value;
                let wo = jes[b].inglih;
                if (batt.dataset.txt === "More") more();
                else if (res === wo) {
                    aut.classList.remove("coll");
                    batt.dataset.txt = "More";
                    aut.innerHTML = `Молодец!Все правильно`;
                } else {
                    aut.classList.add("coll")
                    aut.innerHTML = `Не верно,попробуй еще`;
                };
            })
        });
    </script>
</head>

<body>
    <div class="hed">
        <h1>Тренажер</h1>
        <h2>для изучения английских слов.</h2>
    </div>
    <div class="wrap">
        <div class="flexss">
            <h1 class="word"></h1>
            <input class="in" type="text" placeholder="перевод" name="answer" id="iin">
            <button class="sadm" data-txt="Go"></button>
        </div>
        <h1 class="aut "></h1>
    </div>
</body>

</html>
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2021, 21:31
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

Тогда и13 и 11 ту да же? Я имею в виду в функцию! Точно проффесорский ответ абсолютно бесполезный!
Ответить с цитированием
  #5 (permalink)  
Старый 10.09.2021, 21:48
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

Пардонте, второй ответ значительно информативней!
Ответить с цитированием
  #6 (permalink)  
Старый 10.09.2021, 21:50
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

рони,
Спасибо!!!
Ответить с цитированием
  #7 (permalink)  
Старый 10.09.2021, 21:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

aleks330,
Ответить с цитированием
  #8 (permalink)  
Старый 10.09.2021, 22:28
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

рони,
Гениально особенно вот эти фрагменты
.sadm:after {
            content: attr(data-txt);
        }

let b = -1;

  batt.dataset.txt = "Go"

Такому в школе не научат
Ответить с цитированием
  #9 (permalink)  
Старый 10.09.2021, 22:40
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

Я с этим
let b = -1;
голову сломал а всего лиш
b = ++b % jes.length;
и до такой проверки я бы не додумался
if (batt.dataset.txt === "More") more();

Шахматы это детская игра по сравнению с программированием))

Последний раз редактировалось aleks330, 10.09.2021 в 22:51.
Ответить с цитированием
  #10 (permalink)  
Старый 10.09.2021, 23:44
Новичок на форуме
Отправить личное сообщение для aleks330 Посмотреть профиль Найти все сообщения от aleks330
 
Регистрация: 10.09.2021
Сообщений: 7

Предлагаю в функцию more (сигареты с таким названием сразу вспоминаю )
добавить
inp.value='';

function more() {
      b = ++b % jes.length;
      let ru = jes[b].rus;
      word.innerHTML = `${ru}`;
      aut.innerHTML = '';
      inp.value='';
      batt.dataset.txt = "Go"
  }

Последний раз редактировалось aleks330, 10.09.2021 в 23:51.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление картинки по таймеру paveltkachev Events/DOM/Window 25 05.09.2016 15:27
Обновление двух iframe на одной странице ultrahomie Общие вопросы Javascript 2 19.05.2015 17:04
обновление iframe с помощью AJAX Aglenn AJAX и COMET 4 02.09.2011 22:48
Обновление страницы AndreyS AJAX и COMET 6 16.05.2011 15:55
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07