質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1302閲覧

【超初心者】javascriptでifが効かない

maruchansan

総合スコア33

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/01/20 21:29

前提・実現したいこと

javascriptの練習をしている初心者です。

下記のようなページを作成しようとしています。
・「カウントアップ」ボタンを押すと、ボタン直下の数字(num)が増えていく。
・予め決めた定数(maxnumber)まで数字(num)が増えると、カウントアップをやめる。

発生している問題・エラーメッセージ

予め決めた定数(maxnumber)に数字(num)が達しているのにも関わらず、
カウントアップが止まりません。
どのようにすれば、定数に達したら、カウントアップが止まるようにできるでしょうか。
大変初歩的な質問で申し訳ありません。
いろいろ試してみたり、書籍を読んだりしてみましたが、解決できませんでした。
ご回答のほどよろしくお願い申し上げます。

該当のソースコード

html

1<!DOCTYPE html> 2<html lang="ja" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title>練習</title> 6 </head> 7 <body> 8 9 <button id="nbtn" type="button" name="button">カウントアップ</button> 10 <p id="num"></p> 11 12 <script async type="text/javascript" src="main.js"> 13 </script> 14 15 </body> 16</html>

javascript

1//変数 2var qwn = 0; 3 4//定数 5const maxNumber = 5; 6 7//要素を取得 8var nextButton = document.getElementById('nbtn'); 9var num = document.getElementById('num'); 10 11//qwnの値を1増やす関数 12function countUp(){ 13 qwn++; 14} 15 16function putText(){ 17 num.innerHTML = qwn; 18} 19 20putText(); 21 22if(qwn < maxNumber){ 23 nextButton.addEventListener('click', countUp); 24 nextButton.addEventListener('click', putText); 25} 26

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/01/21 01:06

次からで結構ですので「初心者」をタイトルや質問内に書くのではなく「初心者アイコン」を質問につけてください。要件とはまた違いますので。
macaron_xxx

2019/01/21 08:03

初心者って、ガイドを読まずに投稿したりするから、いつまでも初心者なんですよね。まず説明書(ガイドしかりリファレンスしかり)から読む癖をつけることですね。
maruchansan

2019/01/21 08:58

mts10806様 macaron_xxx様 ご連絡いただき、ありがとうございました。
guest

回答1

0

ベストアンサー

if文を実行するのは最初のイベントをセットする時=ボタンが押される前だけなので、この条件をクリアしてイベントをセットして、あとはチェック無しでカウントアップが進みます。

countUpの中に条件判断を入れましょう。

javascript

1function countUp(){ 2 if(qwn < maxNumber) qwn++; 3}

投稿2019/01/20 22:14

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maruchansan

2019/01/20 23:58

maisumakun様 早速ご教示いただき、ありがとうございました。 大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問