简体   繁体   English

如何在没有js框架的情况下将产品添加到购物车

[英]how to add Add products on shopping cart without js framework

I am Beginner developer and I made e-commerce website (using html css and JavaScript(without framework)我是初级开发人员,我制作了电子商务网站(使用 html css 和 JavaScript(无框架)

I stuck in Add products on shopping cart because JavaScript and these my Code: HTML:我坚持在购物车上添加产品因为 JavaScript 和这些我的代码:HTML:

<div class="small-container">
    <div class="row">
    <div class="col-4">
    <img src="images/20 ps4.png" alt=""/></a>
    <h4>20 Playstation Store(PSN)</h4>
    <p>$20.00</p>
    <button type="button" class="btn1" ><h3 class="text-btn">add to cart</h3></button>
    </div>

    <!--2-->
    <div class="col-4">
    <img src="images/25 ps4.png" alt="" />
    <h4>25 Playstation Store(PSN)</h4>
    <p>$25.00</p>
    <button type="button" class="btn1" onclick="window.location.href='cart.html'"><h3 class="text-btn">add to cart</h3></button>
    </div>

JavaScript: JavaScript:

function ready() {
    var removeCartItemButtons = document.getElementsByClassName('btn1')
    for (var i = 0; i < removeCartItemButtons.length; i++) {
        var button = removeCartItemButtons[i]
        button.addEventListener('click', removeCartItem)
    }

    var quantityInputs = document.getElementsByClassName('btn1')
    for (var i = 0; i < quantityInputs.length; i++) {
        var input = quantityInputs[i]
        input.addEventListener('change', quantityChanged)
    }

    var addToCartButtons = document.getElementsByClassName('btn1')
    for (var i = 0; i < addToCartButtons.length; i++) {
        var button = addToCartButtons[i]
        button.addEventListener('click', addToCartClicked)
    }

    document.getElementsByClassName('btn1')[0].addEventListener('click', purchaseClicked)
}

Css: Css:

.row {
margin-top: 50px;
display: flex;
align-items: center;
flex-wrap: wrap;
justify-content: space-around;
}

.small-container{
max-width: 1080px;
margin: auto;
padding-left: 25px;
padding-right: 25px;
}

.col-4 {
flex-basis: 25%;
padding: 10px;
min-width: 200px;
margin-bottom: 50px;
transition: transform 0.5s;
}
  
.col-4 img {
width: 100%;
}

Thanks a lot.非常感谢。

I try to find function to add products item to the shopping cart我试图找到 function 将产品项目添加到购物车

also i have to use JavaScript without framework我还必须在没有框架的情况下使用 JavaScript

What's the purpose of var addToCartButtons = document.getElementsByClassName('btn1') , var quantityInputs = document.getElementsByClassName('btn1') and var removeCartItemButtons = document.getElementsByClassName('btn1') ? var addToCartButtons = document.getElementsByClassName('btn1')var quantityInputs = document.getElementsByClassName('btn1')var removeCartItemButtons = document.getElementsByClassName('btn1')什么? The query is the same and therefore will always return identical elements.查询是相同的,因此将始终返回相同的元素。

Your approach is good, just add correct classes to your elements and queries.您的方法很好,只需将正确的类添加到您的元素和查询中即可。 Be sure to make the HTML structure uniform.一定要让HTML结构统一。 Metadata about your card can be stored in localStorage for example.例如,关于您的卡的元数据可以存储在 localStorage 中。 You can learn about working with localStorage here .您可以在此处了解如何使用 localStorage。 By the way, you can use newer syntax like forof loops or const keyword to make your code more readable.顺便说一句,您可以使用更新的语法,如forof循环或const关键字,使您的代码更具可读性。

 (() => { const addToCardButtons = document.querySelectorAll('.btn--add_to_cart'); for (const btn of addToCardButtons) { const identifier = btn.dataset.target; btn.addEventListener('click', () => addToCart(identifier)) } const addToCart = (id) => { console.log(id); // handle 'add to cart' functionality } // other functionalities can follow the same structure })()
 <div class="small-container"> <div class="row"> <div class="col-4"> <img src="images/20 ps4.png" alt="" /></a> <h4>20 Playstation Store(PSN)</h4> <p>$20.00</p> <button type="button" data-target="1" class="btn btn--add_to_cart">add to cart</button> </div> <.--2--> <div class="col-4"> <img src="images/25 ps4.png" alt="" /> <h4>25 Playstation Store(PSN)</h4> <p>$25.00</p> <button type="button" data-target="2" class="btn btn--add_to_cart">add to cart</button> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM