株式会社オートプロジェクト

「+」「-」ボタンでの数量変更をJavaScriptで実装する方法

「+」「-」ボタンでの数量変更をJavaScriptで実装する方法

「+(プラス)」「-(マイナス)」ボタンを使って数量を変更する方法は、ECサイトなどでよく見かけると思います。

今回は、この「+(プラス)」「-(マイナス)」ボタンをJavaScriptで実装する方法を紹介します。

完成したコード

HTML

<div class="qty">
 <div id="down">-</div>
 <input type="number" id="textBox">
 <div id="up">+</div>
</div>

CSS

.qty {
 background: #f1ede9;
 padding: 20px 10px;
 border-radius: 10px;
 display: flex;
 width: fit-content;
 margin: 60px auto;
}
#down, #up {
 font-size: 25px;
 padding: 0 14px;
 cursor: pointer;
 user-select: none;
}
#textBox {
 border: none;
 background: none;
 font-size: 18px;
 text-align: center;
 width: 70px;
}
/* [input type="number"]のデフォルトの矢印を消す */
input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button {
 -webkit-appearance: none; 
 margin: 0; 
 -moz-appearance:textfield; 
} 

JavaScript

const qtyDown = document.getElementById('down');
const qtyUp = document.getElementById('up');
const qtyText = document.getElementById('textBox');
let num = 1;
qtyText.value = num;

qtyDown.addEventListener('click', () => {
 if(parseInt(qtyText.value) >= 2) {  // 1以下にならないように設定
  num--;
  qtyText.value = num;
 }
});
qtyUp.addEventListener('click', () => {
 num++;
 qtyText.value = num;
});
if(parseInt(qtyText.value) >= 2)

数量が2未満の場合は、「-(マイナス)」ボタンを押せなくなるよう設定しました。

さらに上限を制限するには

JavaScript 13~16行目を下記に変更してください

qtyUp.addEventListener('click', () => {
 if (parseInt(qtyText.value) < 10) {
  num++;
  qtyText.value = num;
 }
});
if (parseInt(qtyText.value) < 10)を追加

数量が10になったら「+(プラス)」ボタンを押せなくなるよう設定しました。こうすることで、数量を1〜10までで制限することができます!

Webデザイナー / コーダーのみなさまへ

株式会社オートプロジェクトでは、バックエンド全般を安心してお任せいただけます。

サーバー設定やDB管理、セキュリティ対策など幅広いニーズに対応いたします。お気軽にご相談ください。

バックエンドについて、オートプロジェクトに問い合わせをする

Contact ご相談・お問い合わせ

実現の可否や概算費用、納期に関するご質問・ご相談も、
どうぞご遠慮なくお問い合わせください。

お問い合わせ ご相談・お問い合わせ
TOP