Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.04.2020, 23:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Pavel_16,
на странице(блоке) приветствия нужно сохранить только имя,
на странице(блоке) игры только время,
на странице(блоке) рекордов запросить данные с рекордами и после получения добавить в них имя и время , потом вывести таблицу.
как - то так.
Ответить с цитированием
  #12 (permalink)  
Старый 05.04.2020, 23:09
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
Pavel_16,
на странице(блоке) приветствия нужно сохранить только имя
но оно вроди так и есть,

$(document).ready(function(){

if (localStorage.getItem("users") === null) {
  $.getJSON('Storage/users.json', function(users) {
    localStorage.setItem("users", JSON.stringify(users));
  });
}

var users = localStorage.getItem("users");

var $select = $('#name');  
$select.ready(function(event){ 
    $.each(JSON.parse(users), function (key, value) {
      $('<option>').val(value.name).text(value.name).appendTo($select);
    });
});

$('#play_game').click(function() {
  var userName = $('#new_name').val();
  var newUser = {name:userName};
  users = JSON.parse(users);
  users.push(newUser);
  console.log(users);
  localStorage.setItem("users", JSON.stringify(users));
});
});
Ответить с цитированием
  #13 (permalink)  
Старый 05.04.2020, 23:11
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
Pavel_16,
на странице(блоке) игры только время,
const save = { elem: this, color: this.getAttribute("fill") };
    stateStack.push(save);
    this.setAttribute("fill", currentColor.dataset.color);
    if ([...elements].every(ep => ep.getAttribute('fill') != '#ffffff')) {
      tick();
      let time = document.getElementById('play_timer').innerHTML;
      newUser.time = time;
      localStorage.setItem("users", JSON.stringify(users));
      setTimeout(() => alert('Вы всё закрасили!'));
      *location.href = "/rekord.html";
    }
Ответить с цитированием
  #14 (permalink)  
Старый 05.04.2020, 23:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Pavel_16,
приветствие
let userName = document.getElementById('new_name').value;
 localStorage.setItem("userName", userName)

игра
let time = document.getElementById('play_timer').innerHTML;
;
 localStorage.setItem("time ", time)

рекорды
if (localStorage.getItem("users") === null) {
  $.getJSON('Storage/users.json', function(users) {
    localStorage.setItem("users", JSON.stringify(users));
  });
}

let users = localStorage.getItem("users");
let userName  = localStorage.getItem("userName");
let time = localStorage.getItem("userName");
users.push({userName, time});
Ответить с цитированием
  #15 (permalink)  
Старый 05.04.2020, 23:51
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
Pavel_16,
приветствие
let userName = document.getElementById('new_name').value;
 localStorage.setItem("userName", userName)

игра
let time = document.getElementById('play_timer').innerHTML;
;
 localStorage.setItem("time ", time)

рекорды
if (localStorage.getItem("users") === null) {
  $.getJSON('Storage/users.json', function(users) {
    localStorage.setItem("users", JSON.stringify(users));
  });
}

let users = localStorage.getItem("users");
let userName  = localStorage.getItem("userName");
let time = localStorage.getItem("userName");
users.push({userName, time});
Поступило предложение (localStorage.getItem("users") === null)
===null - не совсем, на пустую строку еще

И мне нужно хранить массив имен
нужно добавить еще наверное:
Каррент-юзер тогда для нового юзера, и ещё раз - объект имя+время
{name:name, time:time}
?????
как думаешь?
Ответить с цитированием
  #16 (permalink)  
Старый 06.04.2020, 00:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Pavel_16,
для начала можно так
рекорды
if (localStorage.getItem("users") === null) {
    localStorage.setItem("users", JSON.stringify([]));
}

let users = JSON.parse(localStorage.getItem("users"));
let userName  = localStorage.getItem("userName");
let time = localStorage.getItem("time")
users.push({userName, time});
localStorage.setItem("users", JSON.stringify(users));
for (const item of users) console.log(item);

Последний раз редактировалось рони, 06.04.2020 в 00:07.
Ответить с цитированием
  #17 (permalink)  
Старый 06.04.2020, 00:06
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

[quote=рони;522296]Pavel_16,
для начала можно так



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

Pavel_16,
для отработки игры без сервера, к вашему получению данных с сервера есть вопросы, вы не учитываите время ответа сервера.
Ответить с цитированием
  #19 (permalink)  
Старый 06.04.2020, 00:12
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
Pavel_16,
для отработки игры без сервера, к вашему получению данных с сервера есть вопросы, вы не учитываите время ответа сервера.
это да, не учитываю

а сервер, то.....
Ответить с цитированием
  #20 (permalink)  
Старый 06.04.2020, 00:17
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
Pavel_16,
для отработки игры без сервера, к вашему получению данных с сервера есть вопросы, вы не учитываите время ответа сервера.
ПО ИТОГУ
ПОЛУЧАЕТСЯ ТАК:
$(document).ready(function () {

  if (localStorage.getItem("users") === null) {
    localStorage.setItem("users", JSON.stringify([]));
  }

  let users = JSON.parse(localStorage.getItem("users"));
  let userName = localStorage.getItem("userName");
  let time = localStorage.getItem("time")
  users.push({ userName, time });
  localStorage.setItem("users", JSON.stringify(users));
  for (const item of users) console.log(item);

  var $select = $('#name');
  $select.ready(function (event) {
    $.each(JSON.parse(users), function (key, value) {
      $('<option>').val(value.name).text(value.name).appendTo($select);
    });
  });

  $('#play_game').click(function () {
    var userName = $('#new_name').val();
    var newUser = { name: userName };
    users = JSON.parse(users);
    users.push(newUser);
    console.log(users);
    localStorage.setItem("users", JSON.stringify(users));
  });
});



Только куда прикрутить вот это не понял:?!
let userName = document.getElementById('new_name').value;
 localStorage.setItem("userName", userName)


а наверное с 22-

Последний раз редактировалось Pavel_16, 06.04.2020 в 00:21. Причина: строки
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обновить часть страницы через js или ajax или jquery? bridun Общие вопросы Javascript 1 08.08.2019 14:21
Как сделать чтоб функция выволнялась по click один раз или просто выполнялась? TaH4uk.pro jQuery 1 06.12.2012 22:41
Восторг в античной ForYourself ювелирные изделия тибетской или дать как подарок whistle123 Events/DOM/Window 0 03.12.2012 10:09
Как узнать, присутствует ли в окне полоса прокрутки или нет? возжаждавший Элементы интерфейса 6 12.03.2010 23:00
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06