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

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

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

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

HTML

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

Q&A

解決済

1回答

723閲覧

画像表示の表示制限の方法

m.aru8

総合スコア2

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/11/15 03:11

html

1<!DOCTYPE html> 2<meta charset="UTF-8"> 3 4<body> 5 6<div id="basket"></div> 7 8<template id="image-template"> 9 <img src="img/ringo.png" alt="りんご画像" style="width: 40px; height: 40px;"> 10</template> 11 12<button id="button1"> 13 数1ボタン 14</button> 15 16<button id="button5"> 17 数5ボタン 18</button> 19 20<script> 21const basket = document.querySelector("#basket"); 22const imageTemplate = document.querySelector("#image-template"); 23const button1 = document.querySelector("#button1"); 24const button5 = document.querySelector("#button5"); 25 26basket.addEventListener("App.ImageAddRequest", (event) => { 27 const imageCount = event.detail.imageCount ?? 0; 28 29 for (let count = 0; count < imageCount; count++) { 30 const image = imageTemplate.content.cloneNode(true); 31 32 basket.appendChild(image); 33 } 34}); 35 36button1.addEventListener("click", (event) => { 37 basket.dispatchEvent(new CustomEvent("App.ImageAddRequest", { 38 detail: { 39 imageCount: 1, 40 }, 41 })); 42}); 43 44button5.addEventListener("click", (event) => { 45 basket.dispatchEvent(new CustomEvent("App.ImageAddRequest", { 46 detail: { 47 imageCount: 5, 48 }, 49 })); 50}); 51</script> 52 53</body> 54</html>

数1ボタンを押せばりんごの画像が1つ表示され、
もう一度数1ボタンを押せばもう一つ(計2個)表示される
数5ボタンも同様で表示される数が1から5になる
プログラムを作っているのですが

ボタンを何回も押すと押した分だけ増えるのを制限を掛けたいです。

例)
数1ボタンを押す1回目

数5ボタンを押す2回目(計6個表示中)

3回目以降の入力は無効

お願いします。

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

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

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

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

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

Lhankor_Mhy

2021/11/15 03:19

数5→数1と押した場合の想定している動作を教えてください。
m.aru8

2021/11/15 03:47

数5で5個りんごが表示され数1で1個りんごが表示される(計6個) 順番では数は変わらないプログラムです。
Lhankor_Mhy

2021/11/15 05:01

「数5ボタンも同様で表示される数が1から5になる」とありますが、これは「1から6になる」が正しいということですか?
m.aru8

2021/11/15 05:52

〜数1ボタンを2回入力した時の処理〜 数1ボタンを押すとりんごが1個表示(計1個表示) もう一度 数1ボタンを押すとりんごが1個表示(計2個表示) 〜数5ボタンを2回入力した時の処理〜 数5ボタンを押すとりんごが5個表示(計5個表示) もう一度 数5ボタンを押すとりんごが5個表示(計10個表示) 〜数1ボタン入力後に数5ボタンを入力した時の処理〜 数1ボタンを押すとりんごが1個表示(計1個表示) その後に 数5ボタンを押すとりんごが5個表示(計6個表示) 〜数5ボタン入力後に数1ボタンを入力した時の処理〜 数5ボタンを押すとりんごが5個表示(計5個表示) その後に 数1ボタンを押すとりんごが1個表示(計6個表示)
Lhankor_Mhy

2021/11/15 06:02 編集

同じボタンを2回押すことができるのですね。そうすると、「何回も押すと押した分だけ増えるのを制限を掛けたい」という制限の具体的な内容は何でしょうか? 10を超えることができない、とかですか?
Lhankor_Mhy

2021/11/15 06:04 編集

あ、もしかして、ボタンを通算して2回まで、ということですか?
m.aru8

2021/11/15 06:16

今解決できました。 お手数かけました
guest

回答1

0

自己解決

html

1const maxImageAddRequestCount = 2; 2 3basket.addEventListener("App.ImageAddRequest", (event) => { 4 const imageAddRequestCount = Number.parseInt(basket.dataset.imageAddRequestCount); 5 6 if (imageAddRequestCount >= maxImageAddRequestCount) { 7 return; 8 } 9 10 const imageCount = event.detail.imageCount ?? 0; 11 12 for (let count = 0; count < imageCount; count++) { 13 const image = imageTemplate.content.cloneNode(true); 14 15 basket.appendChild(image); 16 } 17 18 basket.dataset.imageAddRequestCount = imageAddRequestCount + 1; 19});

解決できました

投稿2021/11/15 06:15

m.aru8

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問