初心者のためのJavaScriptショッピングカートチュートリアル
テーブル オブ コンテンツ:
- はじめに
- ショッピングカートのコーディングについて
- 使い方ガイド
3.1. 商品をカートに追加する
3.2. カートの数量を変更する
3.3. 商品をカートから削除する
3.4. 購入手続きを行う
- カートの合計金額更新機能
- 追加機能の実装
5.1. 商品画像の表示
5.2. 商品名の表示
5.3. 商品価格の表示
5.4. カートアイテムのリスト表示
- ページのロード時の挙動
- レスポンシブデザインの適用
- セキュリティ機能の検討
- お客様の声
- よくある質問
ショッピングカートのコーディングについて
こんにちは皆さん、この動画では、バニラJavaScriptを使用してショッピングカートのコーディング方法について説明します。右側の画面には、この動画でコーディングする内容が表示されています。商品をカートに追加するためのボタンや、カートの中身などが表示されています。カートに商品を追加すると、数量が増え、価格も更新されます。数量を減らすと価格も減少し、削除するとカートからアイテムが削除されます。同じ商品を複数回追加しようとすると、既にカートに追加されていることが表示され、再度追加できません。そして、購入ボタンをクリックすると、購入手続きが完了し、カートからすべてのアイテムが削除されます。この動画に参加しようとしている方へ、このページのスタイルのためのコードやHTMLは、説明の中でリンクが貼られている動画の説明欄で入手できます。それでは、このページのコーディングを開始しましょう。まずは、JavaScriptファイルを作成する必要があります。「store.js」という名前のファイルをプロジェクトに作成します。このファイルは、JavaScriptが含まれていることを表す「.js」拡張子を持っているため、HTMLのhead内にscriptタグを追加し、そのsrc属性に「store.js」のパスを指定します。忘れずに、scriptタグは閉じタグが必要です。「linkタグ」とは異なり、JavaScriptを直接scriptタグ内に記述することもできますが、JavaScriptファイルを使用することをお勧めします。それでは、保存してみましょう。JavaScriptコードはまだ何も起こりませんが、コンソール.logを使用して、ブラウザのコンソールに記述したものを表示できます。それでは、保存してブラウザをリロードし、コンソールを確認してみましょう。正しく記述されたJavaScriptコードが実行され、コンソールに表示されます。以上が、store.jsファイルを作成し、store.htmlに読み込む方法ですが、実際にこのページ上で動作するためには、JavaScriptのコーディングが必要です。では、store.htmlページでの実際の操作について説明していきましょう。この部分では、カートからアイテムを削除するための削除ボタンを機能させるために、イベントリスナーを追加する必要があります。まず、イベントリスナーを追加するためには、カート内のアイテムのボタンを選択する必要があります。HTMLファイルを見ると、カート内のボタンには「danger」というクラスが適用されていることがわかります。そのため、ボタンを選択するためには、このクラスが適用されたすべての要素を取得する必要があります。documentオブジェクトを使用することで、HTML内のさまざまなオブジェクトをクエリするためのメソッドが利用できます。クラスに基づいて要素をクエリする場合は、documentオブジェクトを使用して、メソッド「getElementsByClassName」を呼び出し、クエリするクラス名を指定します。この場合は「button danger」と指定します。このメソッドは、指定したクラスを持つページ内の異なる要素をすべて返します。取得した要素を変数に保存し、removeCartItemsButtonsという名前を付けましょう。これで、指定されたクラスを持つすべてのボタンがこの変数に保存されます。コンソールにこの変数を出力してみましょう。保存した後、コンソールを確認すると、配列内にボタンが2つ表示されています。ボタンをマウスオーバーすると、ブラウザ内でボタンが強調表示されることがわかります。これで、ボタンのイベントリスナーを追加する準備が整いました。次に、クリックされたときに何かを実行するために、このボタンに対してイベントリスナーを追加する必要があります。イベントリスナーを追加するためには、「addEventListener」を使用します。このリスナーは、ボタンがクリックされたときに何かを実行するためのものです。この場合、クリックイベントを監視し、クリックイベントが発生したときに実行するコードを指定します。新たなファンクションを作成して、通知のためにコンソールにメッセージを出力しましょう。保存した後、ボタンをクリックすると、指定したメッセージがコンソールに出力されます。完璧です!ここまでが、ボタンをコーディングするための具体的な手順です。コードを保存し、ブラウザをリロードして、ボタンをクリックしてみてください。そして、コンソールを確認し、ボタンをクリックした時に正しいメッセージが表示されることを確認します。次に、実際のカート内のアイテムをコーディングするために、addtoCartClickedという方法を作成します。この方法では、タイトル、価格、および画像ソースを引数として受け取ります。まず、カート内のアイテム用の行を作成する必要があります。これを実現するために、cartRowという変数を作成し、新しい要素として設定します。document.createElementメソッドを使用すると、任意のタイプの要素を作成できます。ここでは、div要素を作成する必要があるため、document.createElement("div") と指定します。ただし、まだ変数をHTMLに追加していないだけなので、このdivがHTMLに追加されたことにはなりません。cartItemsへの追加が必要です。この追加は、cartItemsを指定して、cartRow.appendChildを使用することで行うことができます。これにより、cartRowがcartItemsの末尾に追加されます。以下のコードを追加して保存してみてください。保存後、ボタンをクリックすると、HTML内に要素が追加されますが、スタイルが設定されておらず、期待通りに表示されません。そのため、cartRowにcartRowクラスを追加する必要があります。つまり、cartRow.classList.add("cartRow") と指定します。保存して試してみると、ボタンをクリックすると正しくアイテムがカートに追加されることがわかります。最後に、カートからアイテムを削除する場合と同じ要領で、これらのイベントリスナーを削除した方が良いでしょう。それが完了したら、カートのアイテム数が更新されるかどうかを確認するために、updateCartTotal関数を追加すると良いでしょう。以上の手順に従ってコーディングを進めていくと、ショッピングカートを実装できます。長いテキストですが、何か質問があればお気軽にお聞きください。これで、日本語版の内容が完成しました!