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シリアル番号取得コード例

推薦する

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

MySQLソートにおけるCASE WHENの使用例

序文以前のプロジェクトでは、SQL の CASE WHEN ソート関数が使用されました。ではブログメ...

Idea の起動速度を改善し、Tomcat ログの文字化けを解決する方法

目次序文アイデアの起動速度Tomcat ログが文字化けしている序文Idea を再インストールしたので...

Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します

docker hub から es イメージ (バージョン 6.4.2) をダウンロードしました。詳細...

トークン生成と検証を実装するミニプログラム

目次プロセスデモミニプログラムバックエンドインターフェースプロセス各リクエストインターフェースは検証...

CSSレイアウトにおけるフローティング問題に対する4つの解決策の詳細な説明

1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...

TypeScriptのインストールと使用方法と基本的なデータ型

最初のステップはTypeScriptをグローバルにインストールすることですnpmを使用してインストー...

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...

Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法

注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...

MySQLクエリ最適化に必須の知識ポイントのまとめ

序文クエリの最適化は一夜にして達成できるものではありません。対応するツールの使い方を学び、他の人の経...

MySQLのページング制限のパフォーマンス問題についての簡単な説明

MySQL ページング クエリは通常、制限を通じて実装されます。 limit は 1 つまたは 2 ...

下線を実現するための CSS3 トランジションの例コード

この記事では、下線を実現するための CSS3 トランジションのサンプル コードを紹介します。このコー...

CSSボックスの表示/非表示とトップレイヤーの実装コード

.imgbox{ 幅: 1200ピクセル; 高さ: 612px; 右マージン: 自動; 左マージン...

MySQL 高可用性クラスタの展開とフェイルオーバーの実装

目次1. 内閣府1. コンセプト2. MHAの構成3. MHAの特徴2. MySQL+MHAをビルド...

Linux で SSH 経由でリモート ファイルシステムをマウントする方法の詳細な説明

SSHFS の機能: FUSE(Linux向けの最高のユーザー空間ファイルシステムフレームワーク)を...