Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (20)

Лучшие ответы пользователя

Все ответы (44)
  • Как сделать выбор вида?

    @Cr2ed
    На вскидку:
    при выборе вида вешается класс на div содержащий эти элементы, а далее дело за css стилями.
    Ответ написан
    Комментировать
  • Почему hover не воздействует на элемент, но работает на его дочерних элементах?

    @Cr2ed
    Пробел перед псевдоклассом
    .block:hover {
      border: 1px solid;
      border-color: #333333;
      padding: 1.73vw;
    }
    Ответ написан
    2 комментария
  • Ошибка '.forEach is not a function'. Что не так?

    @Cr2ed
    Скорее всего опечатка:
    const skipButtons = player.querySelector('[data-skip]');

    возвращает 1 элемент. Наверное вы хотели применить querySelectorAll
    Ответ написан
    2 комментария
  • Почему не работает такой код js?

    @Cr2ed
    Разберем по порядку
    function ask1(){
    var a = prompt("Ввести еще одного пользователя?", "");
      if (a!=null){
            ask();}
            else (test());
        }


    Тут лучше использовать confirm. Также тут не правильно используется else. Будет выглядеть так:
    function ask1(){
          if (confirm("Ввести еще одного пользователя?")) {
            ask();
          } else {
            test()
          }
    }


    Вторая ошибка в объявлении метода test
    function test(persons) {
            res = persons.join("<br/>");
            document.write("<p>" + res);
    }


    Вы почему то на вход принимаете массив, но не передаете его в месте вызова. И этот параметр можно опустить.
    Метод say. Вы на вход ожидаете параметр person, нов месте вызова его не передаете.
    Так же у вас одна и таже ссылка на person. Т.е. не вводишь нового а меняешь старого и добавляешь его еще раз в массив.

    Весь код будет выглядеть так:
    var persons = [];
    
        function ask() {
          var person = {}
          
          person.name = prompt("Введите свое имя:");
          person.sname = prompt("Введите свою фамилию:");
          person.age = prompt("Введите свой возраст:");
          
          persons.push(person);
          
          ask1();
        }
        function ask1(){
          if (confirm("Ввести еще одного пользователя?")) {
            ask();
          } else {
            test()
          }
        }
    
        function test() {
            persons.forEach(person =>  { say(person); document.write("<p></p>");})
        }
    
        function say(person) {
          document.write("Имя: " + person.name + "<br/>");
          document.write("Фамилия: " + person.sname + "<br/>");
          document.write("Возраст: " + person.age + "<br/>");
          document.write("");
        }
        ask();
    Ответ написан
    1 комментарий
  • Как из строки сделать массив с рандом значениями?

    @Cr2ed
    Первый аргумент превращаем в массив (назавем его условно alphArr). Далее на основании второго числа нужное количество раз генерим рандомное число в диапазоне от 0 до alphabet.length и по этому числу обращаемся к массиву alphArr. Полученное значение кладем в другой массив result. В конце делаем result.join('');
    Ответ написан
    Комментировать