Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2018, 13:27
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

Cтранное поведение
Здравствуйте, подскажите, пожалуйста, почему в коде по ссылке ниже

https://jsfiddle.net/85uL4hq4/

в 8й строчке скрипта - span.style.opacity = 0 - выдается ошибка:

scripts.js:8 Uncaught TypeError: Cannot set property 'opacity' of undefined
at scripts.js:8
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2018, 13:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Георгий777,
используйте обычный for и будет вам счастье
Ответить с цитированием
  #3 (permalink)  
Старый 21.01.2018, 14:13
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

да, спасибо большое, но все-таки странно, что так не работает)
Ответить с цитированием
  #4 (permalink)  
Старый 21.01.2018, 14:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Георгий777,
вы перечислили все свойства обьекта, в том числе длину, у длины нет свойства style
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2018, 14:54
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

А подскажите, пожалуйста, почему не выводится содержимое массива ar
по этой же ссылке в скрите на 28й строчке во втором цикле for при попытке вывести в консоль

https://jsfiddle.net/85uL4hq4/1/
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2018, 15:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Георгий777,
строка 4 arLength = 0 , поэтому нет никакого цикла в строке 24
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2018, 15:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Георгий777,
что хотите сделать?
Ответить с цитированием
  #8 (permalink)  
Старый 21.01.2018, 15:33
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

В строке 21 в массив записывается 2 элемента , которые выводятся , если на 23й строке прописать console.log(ar);

А в целом хочу, кликая на любых двух ячейках,если значение их равны, то оставляю эти значения на экране, иначе вновь скрываю их
Ответить с цитированием
  #9 (permalink)  
Старый 21.01.2018, 15:58
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

в чем тут может быть дело?
Ответить с цитированием
  #10 (permalink)  
Старый 21.01.2018, 18:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

игра открыть пару
Георгий777,

<!DOCTYPE html>
<html lang="ru">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width">
        <title>Grid</title>
        <style type="text/css">
.output {
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 603px;
  margin: 50px auto;
}

.inner {
  display: flex;
  flex-basis: 150px;
  height: 80px;
  background: #ccc;
  border: 1px solid gray;
  text-align: center;
  line-height: 80px;
}

.inner:hover {
  cursor: pointer;
}

.inner span {
   font-size: 48px;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: 1s;
}

.inner.ok span {
  transition: .4s;
  opacity: 1;
}



        </style>
    </head>
    <body>
        <div class="output">
      <div class="inner"><span>1</span></div>
      <div class="inner"><span>3</span></div>
      <div class="inner"><span>9</span></div>
      <div class="inner"><span>5</span></div>
      <div class="inner"><span>4</span></div>
      <div class="inner"><span>1</span></div>
      <div class="inner"><span>3</span></div>
      <div class="inner"><span>8</span></div>
      <div class="inner"><span>9</span></div>
      <div class="inner"><span>5</span></div>
      <div class="inner"><span>4</span></div>
      <div class="inner"><span>8</span></div>
    </div>
<script>
var ar = [], timer, duration = 1000;
[].forEach.call(document.querySelectorAll(".inner"), function(item) {
  item.addEventListener("click", function() {
    if (item.classList.contains("ok")) {
      return;
    }
    window.clearTimeout(timer);
    item.classList.add("ok");
    ar.push(item);
    if (ar.length == 2) {
      if (ar[0].textContent == ar[1].textContent) {
        ar = [];
      } else {
        ar[0].classList.remove("ok");
        ar = [item];
      }
    }
if(ar.length)  timer = window.setTimeout(function() {
      ar[0].classList.remove("ok");
      ar = [];
    }, duration);
  });
});
</script>
    </body>
</html>

Последний раз редактировалось рони, 21.01.2018 в 20:25.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти стандартное поведение blur? billi Events/DOM/Window 10 01.10.2014 12:22
Странное поведение jQuery borodatych Javascript под браузер 5 27.02.2014 11:47
Непонятное поведение в Chrome main.c Opera, Safari и др. 3 10.10.2013 18:52
Странное поведение переменной mycoding Серверные языки и технологии 4 14.01.2011 19:18
Cтранное поведение viktod Общие вопросы Javascript 23 10.04.2010 00:37