From 5891842333db01d423e6604d8c248cf2c070c17d Mon Sep 17 00:00:00 2001 From: Maxim Lihachev Date: Tue, 8 Nov 2016 15:01:03 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81?= =?UTF-8?q?=20HTML=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BC=D0=BE=D1=89?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/feminitives.css | 6 ++++++ gofem.html | 4 ++-- js/feminitives.js | 43 ++++++++++++++++++++++++++++--------------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/css/feminitives.css b/css/feminitives.css index b7d7205..60794c1 100644 --- a/css/feminitives.css +++ b/css/feminitives.css @@ -22,11 +22,17 @@ margin: 0; } +#definition-help { + text-align: justify; + font-size: 16px; +} + #definition-dict { text-align: center; height: 20px; font-size: 18px; margin-top: 25px; + margin-bottom: 25px; } #definition-image { diff --git a/gofem.html b/gofem.html index 09cde9a..7971d73 100644 --- a/gofem.html +++ b/gofem.html @@ -16,7 +16,7 @@

Феминизатор v1.0

- +
@@ -26,7 +26,7 @@
- + diff --git a/js/feminitives.js b/js/feminitives.js index 068d0f7..ef93476 100644 --- a/js/feminitives.js +++ b/js/feminitives.js @@ -1,7 +1,19 @@ // [ ] TODO: vk.com // [ ] TODO: валидация +// [ ] TODO: справка // [ ] TODO: ссылки на примеры +//Иерархия элементов на странице +var HTML = { + container: "", + _select: function(element) { return document.getElementById(this.container + "-" + element); }, + input: function() { return this._select("word"); }, + dict: function() { return this._select("dict"); }, + content: function() { return this._select("content"); }, + full: function() { return this._select("full"); }, + image: function() { return this._select("image"); } +} + var FEM = {}; //Правила создания феминитивов @@ -129,14 +141,12 @@ function construct_feminitive(stem, ending, gap) { } //Сохранение изображения с феминитивом -function download_image(container) { - html2canvas(document.getElementById(container), { +function download_image() { + html2canvas(HTML.image(), { onrendered: function (canvas) { var a = document.createElement('a'); a.href = canvas.toDataURL(); - a.download = document.getElementById(container - .replace(/-.*$/,"-content")) - .innerHTML + '.png'; + a.download = HTML.content().innerHTML + '.png'; a.click(); } }); @@ -166,7 +176,7 @@ function make_feminitives(word) { } //Запрос значения слова в викисловаре -function get_wiktionary(term, container) { +function get_wiktionary(term) { var cors_url = "https://cors.now.sh/"; var wiki_url = cors_url + "https://ru.wiktionary.org/w/index.php?title=" + term + "&action=raw"; @@ -219,7 +229,7 @@ function get_wiktionary(term, container) { console.log(true_definition); console.log(article); - document.getElementById(container).innerHTML = article; + HTML.full().innerHTML = article; } xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); @@ -235,26 +245,29 @@ function get_wiktionary(term, container) { } //Создание и вывод феминитива -function tr(container) { - document.getElementById(container + "-dict").innerHTML = ""; +function tr() { + HTML.dict().innerHTML = ""; //Исходное слово - var wd = document.getElementById(container + "-word").value.trim().split(" ")[0]; + var wd = HTML.input().value.trim().split(" ")[0]; //Вывод дефиниции - get_wiktionary(wd, container + "-full"); + get_wiktionary(wd); var feminitives = make_feminitives(wd); //Вывод информации - document.getElementById(container + "-dict").innerHTML = feminitives[1].join(" | "); - document.getElementById(container + "-content").innerHTML = feminitives[0].replace(/(.)/, s => s.toUpperCase()); + HTML.dict().innerHTML = feminitives[1].join(" | "); + HTML.content().innerHTML = feminitives[0].replace(/(.)/, s => s.toUpperCase()); } //Инициализация с разбором адресной строки function init(container) { + //Задание базового id для всех элементов + HTML.container = container; + //Конвертирование по нажатию - document.getElementById(container).addEventListener("keyup", function(event) { + HTML.input().addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode == 13) { tr(container); @@ -274,7 +287,7 @@ function init(container) { } if (window.location.search.substring(1)) { - document.getElementById(container + "-word").value = decodeURIComponent(querySt("word").replace(/\+/g," ")); + HTML.input().value = decodeURIComponent(querySt("word").replace(/\+/g," ")); tr(container); } }