jquery.cookie で実装されたクライアントのショッピング カート操作の例
この記事の例では、jquery.cookie によって実装されるクライアント側のショッピング カートの操作について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
//购物车 var Cart = function () { this.Count = 0; this.Total = 0; this.Items = new Array(); }; //购物车集合对象 var CartItem = function () { this.Id = 0; this.Name = ""; this.Count = 0; this.Price = 0; }; //购物车操作 var CartHelper = function () { this.cookieName = "yxhCart"; this.Clear = function () { var cart = new Cart(); this.Save(cart); return cart; }; //向购物车添加 this.Add = function (id, name, count, price) { var cart = this.Read(); var index = this.Find(id); //如果ID已存在,覆盖数量 if (index > -1) { cart.Total -= (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000); cart.Items[index].Count = count; cart.Total += (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000); } else { var item = new CartItem(); item.Id = id; item.Name = name; item.Count = count; item.Price = price; cart.Items.push(item); cart.Count++; cart.Total += (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000); } this.Save(cart); return cart; }; //改变数量 this.Change = function (id, count) { var cart = this.Read(); var index = this.Find(id); cart.Items[index].Count = count; this.Save(cart); return cart; }; //移出购物车 this.Del = function (id) { var cart = this.Read(); var index = this.Find(id); if (index > -1) { var item = cart.Items[index]; cart.Count--; cart.Total = cart.Total - (((item.Count * 100) * (item.Price * 100)) / 10000); cart.Items.splice(index, 1); this.Save(cart); } return cart; }; //根据ID查找 this.Find = function (id) { var cart = this.Read(); var index = -1; for (var i = 0; i < cart.Items.length; i++) { if (cart.Items[i].Id == id) { index = i; } } return index; }; //COOKIE操作 this.Save = function (cart) { var source = ""; for (var i = 0; i < cart.Items.length; i++) { if (source != "") { source += "|$|"; } source += this.ItemToString(cart.Items[i]); } $.cookie(this.cookieName, source); }; this.Read = function () { //读取COOKIE中的集合 var source = $.cookie(this.cookieName); var cart = new Cart(); if (source == null || source == "") { return cart; } var arr = source.split("|$|"); cart.Count = arr.length; for (var i = 0; i < arr.length; i++) { var item = this.ItemToObject(arr[i]); cart.Items.push(item); cart.Total += (((item.Count * 100) * (item.Price * 100)) / 10000); } return cart; }; this.ItemToString = function (item) { return item.Id + "||" + escape(item.Name) + "||" + item.Count + "||" + item.Price; }; this.ItemToObject = function (str) { var arr = str.split('||'); var item = new CartItem(); item.Id = arr[0]; item.Name = unescape(arr[1]); item.Count = arr[2]; item.Price = arr[3]; return item; }; };
この記事が jQuery プログラミングの皆さんに役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック








![VMware Horizon クライアントが接続中にフリーズまたは停止する [修正]](https://img.php.cn/upload/article/000/887/227/170942987315391.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
VMWareHorizon クライアントを使用して VDI に接続すると、認証中にアプリケーションがフリーズしたり、接続がブロックされたりする状況が発生することがあります。この記事では、この問題を調査し、この状況を解決する方法を示します。 VMWareHorizon クライアントでフリーズまたは接続の問題が発生した場合、問題を解決するために実行できることがいくつかあります。 VMWareHorizon クライアントが接続中にフリーズするかスタックする問題を修正する Windows 11/10 で VMWareHorizon クライアントがフリーズするか接続に失敗する場合は、以下の解決策に従ってください。 ネットワーク接続を確認する Horizon クライアントを再起動する Horizon サーバのステータスを確認する クライアント キャッシュをクリアする 修正方法

MQTT (MessageQueuingTelemetryTransport) は、IoT デバイス間の通信に一般的に使用される軽量のメッセージ送信プロトコルです。 PHP は、MQTT クライアントの開発に使用できる、一般的に使用されるサーバー側プログラミング言語です。この記事では、PHP を使用して MQTT クライアントを開発する方法を紹介します。以下の内容が含まれます。 MQTT プロトコルの基本概念 PHPMQTT クライアント ライブラリの選択と使用例: PHPMQTT クライアントを使用した公開と使用

多くの友人がファイルをダウンロードする場合、最初に Web ページを閲覧し、次にクライアントに転送してダウンロードします。ただし、Baidu Netdisk Web ページでクライアントを起動できないという問題が発生することがあります。この問題に対応して、編集者は百度ネットディスク Web ページでクライアントを起動できない問題を解決するための解決策を用意しましたので、困っている友人は参照してください。解決策: 1. Baidu Netdisk が最新バージョンではない可能性があります。Baidu Netdisk クライアントを手動で開き、右上隅の設定ボタンをクリックし、バージョン アップグレードをクリックします。アップデートがない場合は以下の画面が表示されますが、アップデートがある場合は画面に従ってアップデートしてください。 2. Baidu Cloud Disk の検出サービス プログラムが無効になっている可能性があります当社が手動またはセキュリティ ソフトウェアを使用して、Baidu Cloud Disk の検出サービス プログラムを自動的に無効にする可能性があります。チェックアウトしてください

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQuery で PUT リクエストを送信する方法は、他のタイプのリクエストを送信する方法と似ていますが、いくつかの詳細とパラメータ設定に注意する必要があります。 PUT リクエストは通常、データベース内のデータの更新やサーバー上のファイルの更新など、リソースを更新するために使用されます。以下は、jQuery の PUT リクエスト メソッドを使用した具体的なコード例です。まず、jQuery ライブラリ ファイルが含まれていることを確認してから、$.ajax({u

実践講座:PHPとMySQLを使ったショッピングカート機能の詳細解説 ショッピングカート機能はWebサイト制作においてよく使われる機能の一つで、ユーザーはショッピングカートを通じて、買いたい商品を簡単にショッピングカートに追加することができ、その後、決済と支払いに進みます。この記事では、PHP と MySQL を使用して単純なショッピング カート機能を実装する方法を詳しく説明し、具体的なコード例を示します。データベースとデータ テーブルを作成するには、まず製品情報を保存するためのデータ テーブルを MySQL データベースに作成する必要があります。以下は簡単なデータテーブルです。

jQueryで要素の高さ属性を削除するにはどうすればよいですか?フロントエンド開発では、要素の高さ属性を操作する必要が生じることがよくあります。要素の高さを動的に変更する必要がある場合や、要素の高さ属性を削除する必要がある場合があります。この記事では、jQuery を使用して要素の高さ属性を削除する方法と、具体的なコード例を紹介します。 jQuery を使用して高さ属性を操作する前に、まず CSS の高さ属性を理解する必要があります。 height 属性は要素の高さを設定するために使用されます

タイトル: jQuery ヒント: ページ上のすべての a タグのテキストをすばやく変更する Web 開発では、ページ上の要素を変更したり操作したりする必要がよくあります。 jQuery を使用する場合、ページ内のすべての a タグのテキスト コンテンツを一度に変更する必要がある場合があります。これにより、時間と労力を節約できます。以下では、jQuery を使用してページ上のすべての a タグのテキストをすばやく変更する方法と、具体的なコード例を紹介します。まず、jQuery ライブラリ ファイルを導入し、次のコードがページに導入されていることを確認する必要があります: <

タイトル: jQuery を使用して、すべての a タグのテキスト コンテンツを変更します。 jQuery は、DOM 操作を処理するために広く使用されている人気のある JavaScript ライブラリです。 Web 開発では、ページ上のリンク タグ (タグ) のテキスト コンテンツを変更する必要が生じることがよくあります。この記事では、この目標を達成するために jQuery を使用する方法を説明し、具体的なコード例を示します。まず、jQuery ライブラリをページに導入する必要があります。 HTML ファイルに次のコードを追加します。
