【发布时间】:2018-06-19 19:30:50
【问题描述】:
目前正在做一个电子商务网站,这是我的第一个主要项目。我是第一次为购物篮日期(数量、物品等)实施本地存储。
我想要实现的是,每当用户单击“添加到购物篮”按钮时,购物篮旁边的数字就会增加并显示。这很简单,但是对于本地存储,我显然做错了。我假设我检索不正确?
请您向我解释一下我在这里做错了什么,因为我想了解如何在这种情况下正确使用本地存储。我认为这也将帮助我理解如何在正确解析 JSON 产品详细信息时正确实现它。
请看下面的代码。
let basketData = {
basketQty: 0,
products: []
}
//LOCAL STORAGE
localStorage.setItem("basketData", JSON.stringify(basketData));
let localData = JSON.parse(localStorage.getItem("basketData"));
//INCREASE BASKET QTY INNER HTML
addToBasket.click(function(){
basketData.basketQty++;
if (basketData.basketQty > 0){
$(basketQty).html(localData.basketQty);
}
})
<nav>
<div class="logo">
<img src="images/logo.png" alt="Prime Health Logo" />
</div>
<div class="nav-links">
<ul>
<li>VITAMIN & SUPPLEMENTS</li>
<li>SPORTS & WORKOUT NUTRITION</li>
<li>WEIGHT MANAGEMENT</li>
<li>FREE FROM</li>
</ul>
</div>
<div id="basket">
<span id="item-count"></span>
<i class="fas fa-shopping-basket"></i>
</div>
</nav>
非常感谢您抽出时间提供帮助和回复!
【问题讨论】:
-
错误您将存储数据设置为空篮子,然后立即将本地数据设置为该空篮子,并且您永远不会更新或更改这些变量,因此您将始终有一个空篮子
标签: javascript html