From 23318c917c37ee5205be12780ff16d3590f33e50 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Sat, 23 Dec 2017 13:40:25 +0900 Subject: [PATCH 1/7] Create assessment.html --- assessment.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 assessment.html diff --git a/assessment.html b/assessment.html new file mode 100644 index 000000000..30d1a2660 --- /dev/null +++ b/assessment.html @@ -0,0 +1,19 @@ + + + + + + あなたのいいところ診断 + + +

あなたのいいところは?

+

診断したい名前を入れて下さい

+ + +
+
+ +
+ + + From 216771b7ef52d94c0a4981c408da02ec8ad13a89 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Sat, 23 Dec 2017 13:54:49 +0900 Subject: [PATCH 2/7] Create assessment.css --- assessment.css | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 assessment.css diff --git a/assessment.css b/assessment.css new file mode 100644 index 000000000..343c80f78 --- /dev/null +++ b/assessment.css @@ -0,0 +1,17 @@ +body { + background-color: #04A6EB; + color: #FDFFFF; + width: 500px; + margin-right: auto; + margin-left : auto; +} +button { + padding: 5px 20px; + background-color: #337AB7; + color: #FDFFFF; + border-color: #2E6DA4; + border-style: none; +} +input { + height: 20px; +} From d234a2a9a607e9333df350582ceb04fe2334af7e Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Sat, 23 Dec 2017 13:56:16 +0900 Subject: [PATCH 3/7] Create assessment.js --- assessment.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 assessment.js diff --git a/assessment.js b/assessment.js new file mode 100644 index 000000000..e72e8503d --- /dev/null +++ b/assessment.js @@ -0,0 +1,102 @@ +(function () { + 'use strict'; + const userNameInput = document.getElementById('user-name'); + const assessmentButton = document.getElementById('assessment'); + const resultDivided = document.getElementById('result-area'); + const tweetDivided = document.getElementById('tweet-area'); + + /** + * 指定した要素の子どもを全て除去する + * @param {HTMLElement} element HTMLの要素 + */ + function removeAllChildren(element) { + while (element.firstChild) { // 子どもの要素があるかぎり削除 + element.removeChild(element.firstChild); + } + } + + assessmentButton.onclick = () => { + const userName = userNameInput.value; + if (userName.length === 0) { // 名前が空の時は処理を終了する + return; + } + + // 診断結果表示エリアの作成 + removeAllChildren(resultDivided); + const header = document.createElement('h3'); + header.innerText = '診断結果'; + resultDivided.appendChild(header); + + const paragraph = document.createElement('p'); + const result = assessment(userName); + paragraph.innerText = result; + resultDivided.appendChild(paragraph); + + // ツイートエリアの作成 + removeAllChildren(tweetDivided); + const anchor = document.createElement('a'); + const hrefValue = 'https://twitter.com/intent/tweet?button_hashtag=%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%81%84%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D&text=' + + encodeURIComponent(result); + anchor.setAttribute('href', hrefValue); + anchor.className = 'twitter-hashtag-button'; + anchor.innerText = 'Tweet #%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%81%84%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D'; + tweetDivided.appendChild(anchor); + + twttr.widgets.load(); + }; + + userNameInput.onkeydown = (event) => { + if (event.keyCode === 13) { + assessmentButton.onclick(); + } + }; + + const answers = [ + '{userName}のいいところは声です。{userName}の特徴的な声はみなを惹きつけ、心に残ります。', + '{userName}のいいところはまなざしです。{userName}に見つめられた人は、気になって仕方がないでしょう。', + '{userName}のいいところは情熱です。{userName}の情熱に周りの人は感化されます。', + '{userName}のいいところは厳しさです。{userName}の厳しさがものごとをいつも成功に導きます。', + '{userName}のいいところは知識です。博識な{userName}を多くの人が頼りにしています。', + '{userName}のいいところはユニークさです。{userName}だけのその特徴が皆を楽しくさせます。', + '{userName}のいいところは用心深さです。{userName}の洞察に、多くの人が助けられます。', + '{userName}のいいところは見た目です。内側から溢れ出る{userName}の良さに皆が気を惹かれます。', + '{userName}のいいところは決断力です。{userName}がする決断にいつも助けられる人がいます。', + '{userName}のいいところは思いやりです。{userName}に気をかけてもらった多くの人が感謝しています。', + '{userName}のいいところは感受性です。{userName}が感じたことに皆が共感し、わかりあうことができます。', + '{userName}のいいところは節度です。強引すぎない{userName}の考えに皆が感謝しています。', + '{userName}のいいところは好奇心です。新しいことに向かっていく{userName}の心構えが多くの人に魅力的に映ります。', + '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', + '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', + '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。' + ]; + + /** + * 名前の文字列を渡すと診断結果を返す関数 + * @param {string} userName ユーザーの名前 + * @return {string} 診断結果 + */ + function assessment(userName) { + // 全文字のコード番号を取得してそれを足し合わせる + let sumOfcharCode = 0; + for (let i = 0; i < userName.length; i++) { + sumOfcharCode = sumOfcharCode + userName.charCodeAt(i); + } + + // 文字のコード番号の合計を回答の数で割って添字の数値を求める + const index = sumOfcharCode % answers.length; + let result = answers[index]; + + result = result.replace(/{userName}/g, userName); + return result; + } + + // テストコード + console.assert( + assessment('太郎') === '太郎のいいところは決断力です。太郎がする決断にいつも助けられる人がいます。', + '診断結果の文言の特定の部分を名前に置き換える処理が正しくありません。' + ); + console.assert( + assessment('太郎') === assessment('太郎'), + '入力が同じ名前なら同じ診断結果を出力する処理が正しくありません。' + ); +})(); From a663ec318e7663a14a1d14ee9bbcb076f83965f9 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Thu, 28 Dec 2017 18:35:13 +0900 Subject: [PATCH 4/7] Update assessment.js --- assessment.js | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/assessment.js b/assessment.js index e72e8503d..4a34a58a3 100644 --- a/assessment.js +++ b/assessment.js @@ -52,23 +52,24 @@ }; const answers = [ - '{userName}のいいところは声です。{userName}の特徴的な声はみなを惹きつけ、心に残ります。', - '{userName}のいいところはまなざしです。{userName}に見つめられた人は、気になって仕方がないでしょう。', - '{userName}のいいところは情熱です。{userName}の情熱に周りの人は感化されます。', - '{userName}のいいところは厳しさです。{userName}の厳しさがものごとをいつも成功に導きます。', - '{userName}のいいところは知識です。博識な{userName}を多くの人が頼りにしています。', - '{userName}のいいところはユニークさです。{userName}だけのその特徴が皆を楽しくさせます。', - '{userName}のいいところは用心深さです。{userName}の洞察に、多くの人が助けられます。', - '{userName}のいいところは見た目です。内側から溢れ出る{userName}の良さに皆が気を惹かれます。', - '{userName}のいいところは決断力です。{userName}がする決断にいつも助けられる人がいます。', - '{userName}のいいところは思いやりです。{userName}に気をかけてもらった多くの人が感謝しています。', - '{userName}のいいところは感受性です。{userName}が感じたことに皆が共感し、わかりあうことができます。', - '{userName}のいいところは節度です。強引すぎない{userName}の考えに皆が感謝しています。', - '{userName}のいいところは好奇心です。新しいことに向かっていく{userName}の心構えが多くの人に魅力的に映ります。', - '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', - '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', - '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。' - ]; + '{userName}のいいところは声です。{userName}の特徴的な声はみなを惹きつけ、心に残ります。', + '{userName}のいいところはまなざしです。{userName}に見つめられた人は、気になって仕方がないでしょう。', + '{userName}のいいところは情熱です。{userName}の情熱に周りの人は感化されます。', + '{userName}のいいところは厳しさです。{userName}の厳しさがものごとをいつも成功に導きます。', + '{userName}のいいところは知識です。博識な{userName}を多くの人が頼りにしています。', + '{userName}のいいところはユニークさです。{userName}だけのその特徴が皆を楽しくさせます。', + '{userName}のいいところは用心深さです。{userName}の洞察に、多くの人が助けられます。', + '{userName}のいいところは見た目です。内側から溢れ出る{userName}の良さに皆が気を惹かれます。', + '{userName}のいいところは決断力です。{userName}がする決断にいつも助けられる人がいます。', + '{userName}のいいところは思いやりです。{userName}に気をかけてもらった多くの人が感謝しています。', + '{userName}のいいところは感受性です。{userName}が感じたことに皆が共感し、わかりあうことができます。', + '{userName}のいいところは節度です。強引すぎない{userName}の考えに皆が感謝しています。', + '{userName}のいいところは好奇心です。新しいことに向かっていく{userName}の心構えが多くの人に魅力的に映ります。', + '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', + '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', + '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。', + '{userName}のいいところは優しさです。{userName}の優しい雰囲気や立ち振舞に多くの人が癒やされています。' +]; /** * 名前の文字列を渡すと診断結果を返す関数 From 9d689d419d0d0fb51c697fb66f31bbf350bb0d47 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Thu, 28 Dec 2017 18:39:28 +0900 Subject: [PATCH 5/7] =?UTF-8?q?#2=E3=80=80=E3=81=AB=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=81=97=E3=81=9F=E4=BF=AE=E6=AD=A3=E3=82=92=E8=A1=8C=E3=81=84?= =?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assessment.js b/assessment.js index 4a34a58a3..0e6dfd290 100644 --- a/assessment.js +++ b/assessment.js @@ -68,7 +68,7 @@ '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。', - '{userName}のいいところは優しさです。{userName}の優しい雰囲気や立ち振舞に多くの人が癒やされています。' + '{userName}のいいところは優しさです。{userName}の優しい雰囲気や立ち振舞に多くの人が癒やされています' ]; /** From 301445d8b8152fa79ace55af341901bdf403cdc6 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Fri, 29 Dec 2017 00:00:03 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=E8=A6=8B=E5=87=BA=E3=81=97=E3=82=92?= =?UTF-8?q?=E4=B8=81=E5=AF=A7=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assessment.html b/assessment.html index 30d1a2660..e32c0dd29 100644 --- a/assessment.html +++ b/assessment.html @@ -6,7 +6,7 @@ あなたのいいところ診断 -

あなたのいいところは?

+

あなたのいいところを診断します。

診断したい名前を入れて下さい

From 8cbaa820b846b524c2ebb998ed584b43fa30c754 Mon Sep 17 00:00:00 2001 From: gentarou01 <34784574+gentarou01@users.noreply.github.com> Date: Fri, 29 Dec 2017 01:07:41 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assessment.html b/assessment.html index e32c0dd29..e3f80fc8c 100644 --- a/assessment.html +++ b/assessment.html @@ -6,7 +6,7 @@ あなたのいいところ診断 -

あなたのいいところを診断します。

+

あなたのいいところを診断します。テスト

診断したい名前を入れて下さい