From 82c9873bd969038f75554006acae28b274ce9bfe Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:16:24 +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..e42b8ef18 --- /dev/null +++ b/assessment.html @@ -0,0 +1,19 @@ + + + + + + + あなたのいいところ診断 + + + +

あなたのいいところは?

+

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

+ + +
+
+ + + From b8b062719aa77148484c9baa8666c4f755852fa5 Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:17:42 +0900 Subject: [PATCH 2/7] Create assessment.css --- assessment.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 assessment.css diff --git a/assessment.css b/assessment.css new file mode 100644 index 000000000..8f69c3df0 --- /dev/null +++ b/assessment.css @@ -0,0 +1,16 @@ +body { + background-color: #04a6eb; + color: #fdffff; + width: 500px; + margin-right: auto; + margin-left: auto; +} +button { + padding: 5px 20px; + background-color: #337ab7; + color: #fdffff; + border-style: none; +} +input { + height: 20px; +} From 118c87348de5c71fe67a0e4f90f3074cdad70138 Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:18:35 +0900 Subject: [PATCH 3/7] Create assessment.js --- assessment.js | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 assessment.js diff --git a/assessment.js b/assessment.js new file mode 100644 index 000000000..e4f868eba --- /dev/null +++ b/assessment.js @@ -0,0 +1,115 @@ +'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); + } +} + userNameInput.onkeydown = event => { + if (event.key === 'Enter'){ + assessmentButton.onclick(); + } + }; +assessmentButton.onclick = () => { + const userName = userNameInput.value; +  if (userName.length === 0 ) { + //名前が空白の時は処理を終了する + return; + } + + //診断エリアの作成 + while (resultDivided.firstChild){ + //子供の要素がある限り削除 + resultDivided.removeChild(resultDivided.firstChild); + } + 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); + + //TODOツイートエリアの作成 + removeAllChildren(tweetDivided) + const anchor = document.createElement('a'); + const hrefValue = + 'https://twitter.com/intent/tweet?button_hashtag=' + + encodeURIComponent('あなたのいいところ') + + '&ref_src=twsrc%5Etfw'; + + anchor.setAttribute('href',hrefValue); + anchor.className = 'twitter-hashtag-button'; + anchor.setAttribute('data-text',result); + anchor.innerText = 'Tweet #あなたのいいところ'; + tweetDivided.appendChild(anchor); + + // widgrt.js の設定 + const script = document.createElement('script'); + script.setAttribute('src','https://platform.twitter.com/widgets.js'); + tweetDivided.appendChild(script); + + + + +}; + +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 a8ba6adff008fb98b5798906e8e013bb30cb1ec3 Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:25:37 +0900 Subject: [PATCH 4/7] =?UTF-8?q?0GP=20=E3=82=92=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/assessment.html b/assessment.html index e42b8ef18..b9782d6c0 100644 --- a/assessment.html +++ b/assessment.html @@ -2,6 +2,11 @@ + + + + あなたのいいところ診断 From 4228f2e850eecd6ae6609628fb099ce474d90054 Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:37:22 +0900 Subject: [PATCH 5/7] =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB?= =?UTF-8?q?=E3=81=AE=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 b9782d6c0..40c1459a5 100644 --- a/assessment.html +++ b/assessment.html @@ -9,7 +9,7 @@ property="og:description" content="N予備校プログラミング入門コースで制作した、「あなたのいいところ診断」サイトです。" /> - あなたのいいところ診断 + hiroakiiiiiのいいところ診断 From 24d31beb5f04b77bd064eb22f3b537506e9e82d1 Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Fri, 23 Apr 2021 14:29:34 +0900 Subject: [PATCH 6/7] =?UTF-8?q?#1=E3=81=AB=E5=AF=BE=E3=81=99=E3=82=8B?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C=E3=82=92=E8=A1=8C=E3=81=84=E3=81=BE=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/assessment.js b/assessment.js index e4f868eba..296d3b07d 100644 --- a/assessment.js +++ b/assessment.js @@ -65,23 +65,23 @@ 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}が皆から評価されています。' + '{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 07afd29a9791bc4c24d25fdb489803691399adaf Mon Sep 17 00:00:00 2001 From: hiroakiiiii <79961745+hiroakiiiii@users.noreply.github.com> Date: Fri, 23 Apr 2021 15:08:30 +0900 Subject: [PATCH 7/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=AA=E8=A1=A8=E7=8F=BE=E3=81=AB=E5=A4=89?= =?UTF-8?q?=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 40c1459a5..e134599dc 100644 --- a/assessment.html +++ b/assessment.html @@ -13,7 +13,7 @@ -

あなたのいいところは?

+

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

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