JavaScriptを使用してショッピングカートのチェックアウトを実装する方法
ショッピング カート決済を実装する JavaScript メソッド: 1. ページが読み込まれた後に関数を実行します; 2. 要素を取得します; 3. プラスとマイナスのボタンを設定します; 4. 添え字を保存します; 5.プラス記号とマイナス記号のクリック イベント ; 6. チェック ボックスの状態変更イベントを作成します。
この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScriptでショッピングカート決済を実装するにはどうすればよいですか?
HTML コード:
<div id="container"> <ul> <li> <input type="checkbox" name="liCheck" id="" value=""> <button type="button" class="decrease" disabled="disabled">-</button> <p> <span class="piece">0</span>件 </p> <button type="button" class="increase">+</button> <p> <span class="price">10</span>元 </p> <p> 小计: <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled"> </p> </li> <li> <input type="checkbox" name="liCheck" id="" value=""> <button type="button" class="decrease" disabled="disabled">-</button> <p> <span class="piece">0</span>件 </p> <button type="button" class="increase">+</button> <p> <span class="price">20</span>元 </p> <p> 小计: <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled"> </p> </li> <li> <input type="checkbox" name="liCheck" id="" value=""> <button type="button" class="decrease" disabled="disabled">-</button> <p> <span class="piece">0</span>件 </p> <button type="button" class="increase">+</button> <p> <span class="price">30</span>元 </p> <p> 小计: <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled"> </p> </li> <li> <input type="checkbox" name="liCheck" id="" value=""> <button type="button" class="decrease" disabled="disabled">-</button> <p> <span class="piece">0</span>件 </p> <button type="button" class="increase">+</button> <p> <span class="price">40</span>元 </p> <p> 小计: <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled"> </p> </li> <li> <input type="checkbox" name="liCheck" id="" value=""> <button type="button" class="decrease" disabled="disabled">-</button> <p> <span class="piece">0</span>件 </p> <button type="button" class="increase">+</button> <p> <span class="price">50</span>元 </p> <p> 小计: <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled"> </p> </li> </ul> <div class="sum"> <label> <input type="checkbox" name="" id="checkAll" value="">全选 </label> <p> 商品总计: <span id="totalCount">0</span> </p> <p> 商品总价: <span id="totalPrice">0</span> </p> </div> </div> CSS代码: html,body,ul,p { margin:0; padding:0; } ul,li { list-style:none; } ul { width:450px; } li { display:flex; justify-content:space-around; } .sum { width:450px; display:flex; justify-content:space-around; } #container { width:450px; margin:100px auto; }
JS コード:
// 1.页面加载后执行 window.onload = function() { // 2.获取元素 var liCheck = document.getElementsByName("liCheck"); //li里面的复选框 var decrease = document.getElementsByClassName("decrease"); //减号 var piece = document.getElementsByClassName("piece"); //件数 var increase = document.getElementsByClassName("increase"); //加号 var price = document.getElementsByClassName("price"); //单价 var smallPrice = document.getElementsByClassName("smallPrice"); //小计 var checkAll = document.getElementById("checkAll"); //全选复选框 var totalCount = document.getElementById("totalCount"); //总计 var totalPrice = document.getElementById("totalPrice"); //总价 // 3.加减按钮 for (var i = 0; i < decrease.length; i++) { // 4.另存下标 decrease[i].index = i; increase[i].index = i; liCheck[i].index = i; // 5.减号的点击事件 decrease[i].onclick = function() { // 5-1.判断件数是否大于0 if (piece[this.index].innerHTML <= 1) { this.disabled = true; //当件数小于等于0时, 将减号按钮禁用 } // 5-1-1.当前件数-1 piece[this.index].innerHTML--; // 5-1-2.计算小计 smallPrice[this.index].value = Number(smallPrice[this.index].value) - Number(price[this.index].innerHTML); // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价 if (liCheck[this.index].checked) { //选中 totalCount.innerHTML--; totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(price[this.index].innerHTML); } } // 6.加号的点击事件 increase[i].onclick = function() { // 6-1.将对应的减号解禁 decrease[this.index].disabled = false; // 6-2.当前件数+1 piece[this.index].innerHTML++; // 6-3.计算小计 smallPrice[this.index].value = Number(smallPrice[this.index].value) + Number(price[this.index].innerHTML); // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价 if (liCheck[this.index].checked) { //选中 totalCount.innerHTML++; totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(price[this.index].innerHTML); } } // 7.复选框的状态改变事件 var count = 0; //存储选中个数 liCheck[i].onchange = function() { // 7-1.判断是否选中 if (this.checked) { //选中状态 count++; totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[this.index].innerHTML); //总计加当前件数 totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[this.index].value); //总计加当前件数 // 7-1-1. 判断选中个数是否与复选框个数一致 } else { //取消选中状态 count--; totalCount.innerHTML = Number(totalCount.innerHTML) - Number(piece[this.index].innerHTML); //总计加当前件数 totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(smallPrice[this.index].value); //总计加当前件数 } count == liCheck.length ? checkAll.checked = true : checkAll.checked = false; } } // 8.全选复选框 checkAll.onchange = function() { totalCount.innerHTML = 0; //总计置为0 totalPrice.innerHTML = 0; //总价置为0 for (var j = 0; j < liCheck.length; j++) { // 8-1. 将li里面的复选框与全选状态保持一致 liCheck[j].checked = this.checked; // 8-2. 判断是否全选 if (this.checked) { count = liCheck.length; totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[j].innerHTML); totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[j].value); } else { count = 0; } } } }
推奨学習: 「javascript Advanced Tutorial」
以上がJavaScriptを使用してショッピングカートのチェックアウトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
