jQueryはショッピングカート機能を実装します

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

html

<!DOCTYPE html>
<html>
<ヘッド>
<title>ショッピングカート</title>
<メタ文字セット="utf-8" />
<スタイル タイプ="text/css">
h1 {
    テキスト配置: 中央;
}
 
テーブル {
    マージン: 0 自動;
    幅: 60%;
    境界線: 2px 実線 #aaa;
    境界線の折りたたみ: 折りたたみ;
}
 
テーブル th、テーブル td {
    境界線: 2px 実線 #aaa;
    パディング: 5px;
}
 
番目 {
    背景色: #eee;
}
</スタイル>
<script src="jquery-3.2.1.min.js"></script>
<script src="gw.js"></script>
</head>
<本文>
    <h1>お買い得だ</h1>
    <テーブルid="tb1">
        <tr>
            <th>製品</th>
            <th>単価(元)</th>
            <th>色</th>
            <th>在庫</th>
            <th>陽​​性率</th>
            <th>オペレーション</th>
        </tr>
        <tr>
            <td>ロジクール M185 マウス</td>
            <td>80</td>
            <td>黒</td>
            <td>893</td>
            <td>98%</td>
            <td align="center"><input type="button" value="カートに追加"
                onclick="addshoping(this);" /></td>
        </tr>
        <tr>
            <td>Microsoft X470 キーボード</td>
            <td>150</td>
            <td>黒</td>
            <td>9028</td>
            <td>96%</td>
            <td align="center"><input type="button" value="カートに追加"
                onclick="addshoping(this);" /></td>
        </tr>
        <tr>
            <td>ロック iPhone 6 ケース</td>
            <td>60</td>
            <td>透明</td>
            <td>672</td>
            <td>99%</td>
            <td align="center"><input type="button" value="カートに追加"
                onclick="addshoping(this);" /></td>
        </tr>
        <tr>
            <td>Bluetooth ヘッドセット</td>
            <td>100</td>
            <td>青</td>
            <td>8937</td>
            <td>95%</td>
            <td align="center"><input type="button" value="カートに追加"
                onclick="addshoping(this);" /></td>
        </tr>
        <tr>
            <td>キングストン USB フラッシュドライブ</td>
            <td>70</td>
            <td>赤</td>
            <td>482</td>
            <td>100%</td>
            <td align="center"><input type="button" value="カートに追加"
                onclick="addshoping(this);" /></td>
        </tr>
    </テーブル>
 
    <h1>ショッピングカート</h1>
    <テーブル>
        <頭>
            <tr>
                <th>製品</th>
                <th>単価(元)</th>
                <th>数量</th>
                <th>金額(元)</th>
                <th>削除</th>
            </tr>
        </thead>
        <tbody id="商品">
 
        </tbody>
        <tfoot>
            <tr>
                <td colspan="3" align="right">合計</td>
                <td id="合計"></td>
                <td></td>
            </tr>
        </tfoot>
    </テーブル>
 
</本文>
</html>

js

//ショッピングカートを追加する function addshoping(btn) {
 
        var name = $(btn).parent().siblings().eq(0).html()
        var price = $(btn).parent().siblings().eq(1).html()
 
         var trs = $("#商品tr")
         var nameArr = 新しい配列();
         $.each(trs, 関数(インデックス, 値) {
             nameArr.push($(this).children('td').eq(0).text())
         })
        var $tr = $('<tr>' +
            '<td>' + 名前 + '</td>' +
            '<td>' + 価格 + '</td>' +
            '<td align="center">' +
            '<input type="button" value="-" onclick="jian(this);"/> ' +
            '<input type="number" size="3" readonly value="1"/> ' +
            '<input type="button" value="+" onclick="increase(this);"/>' +
            '</td>' +
            '<td>' + 価格 + '</td>' +
            '<td align="center"><input type="button" value="x" onclick="del(this);"/></td>' +
            '</tr>');
        var ishasName = nameArr.indexOf(名前)
        
        ishasName >= 0 の場合
            var goodcount = trs.eq(ishasName).children('td').eq(2).children().eq(1).val()
            数値.parseInt(goodcount);
            trs.eq(ishasName).children('td').eq(2).children().eq(1).val(++goodcount)
            var price=trs.eq(ishasName).children('td').eq(1).html()
             Number.parseInt(価格)
             trs.eq(ishasName).children('td').eq(3).html(goodcount*price);
            
                
        } それ以外 {
 
           // $tr.insertAfter($("#goods tr:eq(0)"))
            $("#goods").append($tr);
         }
            var kucun = tds.eq(3).html()
   数値.parseInt(kucun)
   tds.eq(3).html(--kucun)
 
        和()
    }
    //増加関数 increase(btn){
        var num=$(btn).prev().val()
        数値.parseInt(num);
        var bignew=$(btn).prev().val(++num)
        var price = $(btn).parent().prev().html();
        $(btn).parent().next().html(数値*価格);
        和();
    
    };
    //関数 jian(btn){ を減らす
        
        var num = $(btn).next().val()
        if(数値<=1){
            戻る;
        }
        数値.parseInt(--num)
        var price = $(btn).parent().prev().html();
        var newprice=$(btn).parent().next().html();
        
        $(btn).parent().next().html(新しい価格-価格);
        $(btn).next().val(数値)
      
    和()
    }
    //削除関数del(btn){
       $(btn).親().親().削除()
       和();
    }
    //合計関数 sum() {
// tbody の下のすべての行を取得します var $trs = $("#goods tr");
// ループします var sum = 0;
(var i = 0; i < $trs.length; i++) の場合 {
    // 各行を取得します var $tr = $trs.eq(i);
    // 行の4列目の値(金額)を取得します
    var mny = $tr.children().eq(3).html();
    合計 += parseFloat(mny);
}
// total$("#total").html(sum) に書き込みます。
};

実行結果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jQueryはショッピングカート内の複数のアイテムの加算と減算+合計価格の計算を実装します
  • jQueryはショッピングカートに追加する際、飛行アニメーション効果を実装します
  • JQuery で実装されたショッピング カート機能 (アイテムの削減や追加、価格の自動計算が可能)
  • jQuery を使用してショッピングカートの価格を計算する方法
  • 純粋なjQueryでTaobaoショッピングカート決済を模倣
  • JQuery をベースにしたショッピングモールのようなショッピングカート
  • jQueryはショッピングカート内の数字を加算したり減算したりする効果を実現します
  • jQuery+HTML5 ショッピングカートコード共有を追加
  • jQueryショッピングカートの決済機能を実装する方法
  • jQuery は Taobao ショッピングカートのような完全な選択状態の例を実装します

<<:  Linuxプロセス通信におけるFIFOの実装

>>:  SQLシリアル番号取得コード例

推薦する

Win10 の Linux サブシステムを有効にする方法を説明します (詳細な画像とテキスト付き)

今日は、Windows 10 で Linux サブシステムを有効にする方法を紹介します。早速、手順を...

MySQL コマンドライン操作中のエンコードの問題の詳細な説明

1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...

Windows 8 での MySQL Community Server 5.6 のインストールと設定のチュートリアル

この記事では、Windows 8 での MySQL5.6 のインストールと設定のチュートリアルを記録...

MySQLの水平および垂直テーブルパーティションの説明

前回の記事で、MySQL ステートメントの最適化には限界があると述べました。MySQL ステートメン...

Docker基盤技術の適用に関する詳細な説明 名前空間Cgroup

Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...

HTML減量 HTMLタグを合理化してWebページを作成する

HTML4 についてHTML (XHTML ではありません)、MIME タイプは text/html...

nginx を使用した負荷分散モジュールの解釈

目次負荷分散に nginx を使用するための 2 つのモジュール:アップストリームはロードノードプー...

JavaScript でオブザーバー パターンを実装する方法

目次概要オブザーバーパターンの応用シナリオオブザーバーパターンの実装要約する概要オブザーバー パター...

JavaScript初心者がよく犯す間違い

目次序文undefined と null の混同紛らわしい数値の加算と文字列の連結戻り文の改行の問題...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

Dockerコミットの使い方の詳しい説明

場合によっては、ベースイメージに特定の依存関係をインストールする必要があります。Dockerfile...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

Linux は n 日前のログとサンプルコマンドを自動的に削除します

1. ファイル削除コマンド:対応するディレクトリを検索します -mtime + 日数 -name &...

MySQL ALTERコマンドの知識ポイントのまとめ

テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...

Linuxアカウントファイル制御管理の詳細な手順

Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...