05.04.2020, 23:01
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Pavel_16,
на странице(блоке) приветствия нужно сохранить только имя,
на странице(блоке) игры только время,
на странице(блоке) рекордов запросить данные с рекордами и после получения добавить в них имя и время , потом вывести таблицу.
как - то так.
|
|
05.04.2020, 23:09
|
Аспирант
|
|
Регистрация: 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));
});
});
|
|
05.04.2020, 23:11
|
Аспирант
|
|
Регистрация: 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";
}
|
|
05.04.2020, 23:34
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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});
|
|
05.04.2020, 23:51
|
Аспирант
|
|
Регистрация: 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}
?????
как думаешь?
|
|
06.04.2020, 00:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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.
|
|
06.04.2020, 00:06
|
Аспирант
|
|
Регистрация: 01.04.2020
Сообщений: 46
|
|
[quote=рони;522296] Pavel_16,
для начала можно так
а чего для начала???
|
|
06.04.2020, 00:10
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Pavel_16,
для отработки игры без сервера, к вашему получению данных с сервера есть вопросы, вы не учитываите время ответа сервера.
|
|
06.04.2020, 00:12
|
Аспирант
|
|
Регистрация: 01.04.2020
Сообщений: 46
|
|
|
|
06.04.2020, 00:17
|
Аспирант
|
|
Регистрация: 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.
Причина: строки
|
|
|
|