Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
1
0000
1
0000
@@ -8,3 +8,4 @@ x /пуск|run.js
|
||||
/пуск|run.череда
|
||||
x /тема|theme.js
|
||||
/тема|theme.череда
|
||||
x /функции|functions.js
|
||||
130
интерфейс|ui.js
130
интерфейс|ui.js
@@ -3,6 +3,136 @@
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьОкноПоражения = мир =>
|
||||
{
|
||||
var структура = `
|
||||
|
||||
<div id="окно-поражения-тело">
|
||||
<center>
|
||||
<h1>Поражение</h1>
|
||||
<hr class="uk-divider-icon">
|
||||
<p uk-margin>
|
||||
<p>Перезапустить игру с раскладкой:</p>
|
||||
<button id="перезапустить-раскладку-решаемую" class="uk-button uk-button-default">Решаемой</button>
|
||||
<button id="перезапустить-раскладку-нерешаемую" class="uk-button uk-button-default">Нерешаемой</button>
|
||||
</p>
|
||||
</center>
|
||||
</div>
|
||||
|
||||
`;
|
||||
var вид = `
|
||||
|
||||
#окно-поражение-тело
|
||||
{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
pointer-events: all;
|
||||
}
|
||||
#окно-победы
|
||||
{
|
||||
opacity: 0;
|
||||
background-color: white;
|
||||
animation: fadeInОкноПоражения 1s ease;
|
||||
animation-fill-mode: forwards;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
@keyframes fadeInОкноПоражения
|
||||
{
|
||||
0%
|
||||
{
|
||||
opacity: 0;
|
||||
}
|
||||
100%
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
`;
|
||||
мир.окноПоражения = добавитьОкно("окно-поражения", структура, вид);
|
||||
$("#перезапустить-раскладку-решаемую").click(function() {
|
||||
мир.уведомить("кнопка перезапуска с решаемой раскладкой");
|
||||
});
|
||||
$("#перезапустить-раскладку-нерешаемую").click(function() {
|
||||
мир.уведомить("кнопка перезапуска с нерешаемой раскладкой");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьОкноПобеды = мир =>
|
||||
{
|
||||
var структура = `
|
||||
|
||||
<div id="окно-победы-тело">
|
||||
<center>
|
||||
<h1>Победа</h1>
|
||||
<hr class="uk-divider-icon">
|
||||
<p uk-margin>
|
||||
<p>Перезапустить игру с раскладкой:</p>
|
||||
<button id="перезапустить-раскладку-решаемую" class="uk-button uk-button-default">Решаемой</button>
|
||||
<button id="перезапустить-раскладку-нерешаемую" class="uk-button uk-button-default">Нерешаемой</button>
|
||||
</p>
|
||||
</center>
|
||||
</div>
|
||||
|
||||
`;
|
||||
var вид = `
|
||||
|
||||
#окно-победы-тело
|
||||
{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
pointer-events: all;
|
||||
}
|
||||
#окно-победы
|
||||
{
|
||||
opacity: 0;
|
||||
background-color: white;
|
||||
animation: fadeInОкноПобеды 1s ease;
|
||||
animation-fill-mode: forwards;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
@keyframes fadeInОкноПобеды
|
||||
{
|
||||
0%
|
||||
{
|
||||
opacity: 0;
|
||||
}
|
||||
100%
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
`;
|
||||
мир.окноПобеды = добавитьОкно("окно-победы", структура, вид);
|
||||
$("#перезапустить-раскладку-решаемую").click(function() {
|
||||
мир.уведомить("кнопка перезапуска с решаемой раскладкой");
|
||||
});
|
||||
$("#перезапустить-раскладку-нерешаемую").click(function() {
|
||||
мир.уведомить("кнопка перезапуска с нерешаемой раскладкой");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьГлавноеОкно = мир =>
|
||||
{
|
||||
мир.главноеОкно = document.createElement("div");
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
пуск модулей маджонга
|
||||
создать главное окно
|
||||
победа
|
||||
создать окно победы
|
||||
поражение
|
||||
создать окно поражения
|
||||
22
пуск|run.js
22
пуск|run.js
@@ -3,6 +3,28 @@
|
||||
// // // //
|
||||
|
||||
|
||||
ПерезапуститьСРешаемойРаскладкой = мир =>
|
||||
{
|
||||
задатьПараметрВСтрокеПоиска("🚧", "😀");
|
||||
document.location.reload();
|
||||
console.debug("Перезапустить РЕШ");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПерезапуститьСНерешаемойРаскладкой = мир =>
|
||||
{
|
||||
задатьПараметрВСтрокеПоиска("🚧", "😭");
|
||||
document.location.reload();
|
||||
console.debug("Перезапустить НЕРЕШ");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗапуститьМодулиМаджонга = мир =>
|
||||
{
|
||||
мир.уведомить("пуск модулей маджонга");
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
пуск маджонга
|
||||
задать заголовок браузера
|
||||
запустить модули маджонга
|
||||
кнопка перезапуска с решаемой раскладкой
|
||||
перезапустить с решаемой раскладкой
|
||||
кнопка перезапуска с нерешаемой раскладкой
|
||||
перезапустить с нерешаемой раскладкой
|
||||
53
функции|functions.js
Normal file
53
функции|functions.js
Normal file
@@ -0,0 +1,53 @@
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
добавитьОкно = (id, html, css) =>
|
||||
{
|
||||
var окно = document.createElement("div");
|
||||
окно.id = id;
|
||||
окно.innerHTML = html;
|
||||
var вид = document.createElement("style");
|
||||
вид.innerHTML = css;
|
||||
document.body.appendChild(окно);
|
||||
document.head.appendChild(вид);
|
||||
return окно;
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) =>
|
||||
{
|
||||
var строкаПоиска = decodeURI(window.location.search);
|
||||
var текущийАдрес = decodeURI(window.location.href);
|
||||
|
||||
// Заменить параметр.
|
||||
if (строкаПоиска.includes(`${ключПараметра}=`))
|
||||
{
|
||||
var части = строкаПоиска.split(/[\?&]/);
|
||||
for (var номер in части)
|
||||
{
|
||||
var часть = части[номер];
|
||||
if (часть.startsWith(`${ключПараметра}=`))
|
||||
{
|
||||
var значение = часть.split("=")[1];
|
||||
var адрес = текущийАдрес.replace(значение, значениеПараметра);
|
||||
history.pushState(null, "", адрес);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Добавить параметр.
|
||||
else
|
||||
{
|
||||
var префикс = "?";
|
||||
if (строкаПоиска.startsWith("?"))
|
||||
{
|
||||
префикс = "&";
|
||||
}
|
||||
var адрес = текущийАдрес + префикс + `${ключПараметра}=` + значениеПараметра;
|
||||
history.pushState(null, "", адрес);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user