真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫

這篇文章主要介紹了JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫文章都會有所收獲,下面我們一起來看看吧。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),玉泉企業(yè)網(wǎng)站建設(shè),玉泉品牌網(wǎng)站建設(shè),網(wǎng)站定制,玉泉網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,玉泉網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

JavaScript實(shí)現(xiàn)購物車結(jié)算的方法:1、在頁面加載后執(zhí)行function;2、獲取元素;3、設(shè)置加減按鈕;4、另存下標(biāo);5、設(shè)置加減號的點(diǎn)擊事件;6、創(chuàng)建復(fù)選框的狀態(tài)改變事件。

本文操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript怎么實(shí)現(xiàn)購物車結(jié)算?

JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫

HTML代碼:


    
            
  •                          -             

                    0件             

                +             

                    10元             

                

                    小計:                              

            
  •         
  •                          -             

                    0件             

                +             

                    20元             

                

                    小計:                              

            
  •         
  •                          -             

                    0件             

                +             

                    30元             

                

                    小計:                              

            
  •         
  •                          -             

                    0件             

                +             

                    40元             

                

                    小計:                              

            
  •         
  •                          -             

                    0件             

                +             

                    50元             

                

                    小計:                              

            
  •     
                      

            商品總計:             0         

        

            商品總價:             0         

    
CSS代碼: html,body,ul,p { margin:0; padding:0; } ul,li { list-style:none; } ul { width:450px; } li { display:flex; justify-content:space-around; } .sum { width:450px; display:flex; justify-content:space-around; } #container { width:450px; margin:100px auto; }

JS代碼:

// 1.頁面加載后執(zhí)行
window.onload = function() {
    // 2.獲取元素
    var liCheck = document.getElementsByName("liCheck"); //li里面的復(fù)選框
    var decrease = document.getElementsByClassName("decrease"); //減號
    var piece = document.getElementsByClassName("piece"); //件數(shù)
    var increase = document.getElementsByClassName("increase"); //加號
    var price = document.getElementsByClassName("price"); //單價
    var smallPrice = document.getElementsByClassName("smallPrice"); //小計
    var checkAll = document.getElementById("checkAll"); //全選復(fù)選框
    var totalCount = document.getElementById("totalCount"); //總計
    var totalPrice = document.getElementById("totalPrice"); //總價
    // 3.加減按鈕
    for (var i = 0; i < decrease.length; i++) {
        // 4.另存下標(biāo)
        decrease[i].index = i;
        increase[i].index = i;
        liCheck[i].index = i;
        // 5.減號的點(diǎn)擊事件
        decrease[i].onclick = function() {
            // 5-1.判斷件數(shù)是否大于0
            if (piece[this.index].innerHTML <= 1) {
                this.disabled = true; //當(dāng)件數(shù)小于等于0時, 將減號按鈕禁用
            }
            // 5-1-1.當(dāng)前件數(shù)-1
            piece[this.index].innerHTML--;
            // 5-1-2.計算小計
            smallPrice[this.index].value = Number(smallPrice[this.index].value) - Number(price[this.index].innerHTML);
            // 6-4.如果當(dāng)前條目是被選中狀態(tài), 則需要將該商品計入總計和總價
            if (liCheck[this.index].checked) { //選中
                totalCount.innerHTML--;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(price[this.index].innerHTML);
            }
        }
        // 6.加號的點(diǎn)擊事件
        increase[i].onclick = function() {
            // 6-1.將對應(yīng)的減號解禁
            decrease[this.index].disabled = false;
            // 6-2.當(dāng)前件數(shù)+1
            piece[this.index].innerHTML++;
            // 6-3.計算小計
            smallPrice[this.index].value = Number(smallPrice[this.index].value) + Number(price[this.index].innerHTML);
            // 6-4.如果當(dāng)前條目是被選中狀態(tài), 則需要將該商品計入總計和總價
            if (liCheck[this.index].checked) { //選中
                totalCount.innerHTML++;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(price[this.index].innerHTML);
            }
        }
        // 7.復(fù)選框的狀態(tài)改變事件
        var count = 0; //存儲選中個數(shù)
        liCheck[i].onchange = function() {
            // 7-1.判斷是否選中
            if (this.checked) { //選中狀態(tài)
                count++;
                totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[this.index].innerHTML); //總計加當(dāng)前件數(shù)
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[this.index].value); //總計加當(dāng)前件數(shù)
                // 7-1-1. 判斷選中個數(shù)是否與復(fù)選框個數(shù)一致
            } else { //取消選中狀態(tài)
                count--;
                totalCount.innerHTML = Number(totalCount.innerHTML) - Number(piece[this.index].innerHTML); //總計加當(dāng)前件數(shù)
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(smallPrice[this.index].value); //總計加當(dāng)前件數(shù)
            }
            count == liCheck.length ? checkAll.checked = true : checkAll.checked = false;
        }
    }
    // 8.全選復(fù)選框
    checkAll.onchange = function() {
        totalCount.innerHTML = 0; //總計置為0
        totalPrice.innerHTML = 0; //總價置為0
        for (var j = 0; j < liCheck.length; j++) {
            // 8-1. 將li里面的復(fù)選框與全選狀態(tài)保持一致
            liCheck[j].checked = this.checked;
            // 8-2. 判斷是否全選
            if (this.checked) {
                count = liCheck.length;
                totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[j].innerHTML);
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[j].value);
            } else {
                count = 0;
            }
        }
    }
}

關(guān)于“JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享文章:JavaScript實(shí)現(xiàn)購物車結(jié)算功能的代碼怎么寫
瀏覽路徑:http://weahome.cn/article/pdjcis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部