为什么我的本地存储变量都返回true?

时间:2020-08-20 08:48:36

标签: javascript jquery

我正在尝试做类似网站的操作,每当用户单击某种产品下的购买时,他们都将被带到购物车,然后他们将在那里看到其产品的图像,我希望图像从衬衫上改变运动鞋,但事实并非如此。因此,我想到了使用localstorage的想法,并在我的addToCart脚本文件中做了以下操作:

$(document).ready(function()
{
    var isShoes = false
    var isShirt = false

    $('#purchaseShoes').on('click', function()
    {
        alert('Sneakers')
        var Shoes = localStorage.setItem('img_shoes', '/static/Images/Sneakers.png')
        isShoes = localStorage.setItem('isShoes', true)
    })
    $('#purchaseShirt').on('click', function()
    {
        alert('T-shirt')
        var Shirt = localStorage.setItem('img_shirt', '/static/Images/Images/T-Shirt.png')
        isShirt = localStorage.setItem('isShoes', true)

    })
})

但是很明显,脚本将两个按钮都注册为单击状态,并且每当我转到我的cartControl脚本并对其进行测试时,它都将我的两个值都恢复为true。当我仅单击其中一个按钮时,为什么同时显示两个?我检查了HTML和他们的ID是不同的。我应该在addToScript脚本中使用if吗??? 这是cartControl脚本:

$(document).ready(function()
{

    var Shoes = localStorage.getItem('img_shoes')
    var Shirt = localStorage.getItem('img_shirt')

    var isShirt = localStorage.getItem('isShirt')
    var isShoes = localStorage.getItem('isShoes')

    var quantityNumber = 1;
    var shirtPrice = 25.00;
    var shirt = document.getElementById('shirtTotal')
    var Quantity = document.getElementById('Quantity')

    alert(isShoes)
    alert(isShirt)
    $('#btnQuantity').on('click', function()
    {
        
        
        quantityNumber+=1;
        Quantity.innerText = quantityNumber;
        shirt.innerText = "Total Price: " + "$" + (quantityNumber*shirtPrice);
        
        
    })
    
    
    
    
})

0 个答案:

没有答案
相关问题