成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JavaScript如何實(shí)現(xiàn)購(gòu)物車結(jié)算

這篇文章主要介紹JavaScript如何實(shí)現(xiàn)購(gòu)物車結(jié)算,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供雞東網(wǎng)站建設(shè)、雞東做網(wǎng)站、雞東網(wǎng)站設(shè)計(jì)、雞東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、雞東企業(yè)網(wǎng)站模板建站服務(wù),10多年雞東做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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

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

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

JavaScript如何實(shí)現(xiàn)購(gòu)物車結(jié)算

HTML代碼:

<div id="container">
    <ul>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">10</span>元
            </p>
            <p>
                小計(jì):
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">20</span>元
            </p>
            <p>
                小計(jì):
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">30</span>元
            </p>
            <p>
                小計(jì):
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">40</span>元
            </p>
            <p>
                小計(jì):
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
        <li>
            <input type="checkbox" name="liCheck" id="" value="">
            <button type="button" class="decrease" disabled="disabled">-</button>
            <p>
                <span class="piece">0</span>件
            </p>
            <button type="button" class="increase">+</button>
            <p>
                <span class="price">50</span>元
            </p>
            <p>
                小計(jì):
                <input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
            </p>
        </li>
    </ul>
    <div class="sum">
        <label>
<input type="checkbox" name="" id="checkAll" value="">全選
</label>
        <p>
            商品總計(jì):
            <span id="totalCount">0</span>
        </p>
        <p>
            商品總價(jià):
            <span id="totalPrice">0</span>
        </p>
    </div>
</div>
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.頁(yè)面加載后執(zhí)行
window.onload = function() {
    // 2.獲取元素
    var liCheck = document.getElementsByName("liCheck"); //li里面的復(fù)選框
    var decrease = document.getElementsByClassName("decrease"); //減號(hào)
    var piece = document.getElementsByClassName("piece"); //件數(shù)
    var increase = document.getElementsByClassName("increase"); //加號(hào)
    var price = document.getElementsByClassName("price"); //單價(jià)
    var smallPrice = document.getElementsByClassName("smallPrice"); //小計(jì)
    var checkAll = document.getElementById("checkAll"); //全選復(fù)選框
    var totalCount = document.getElementById("totalCount"); //總計(jì)
    var totalPrice = document.getElementById("totalPrice"); //總價(jià)
    // 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.減號(hào)的點(diǎn)擊事件
        decrease[i].onclick = function() {
            // 5-1.判斷件數(shù)是否大于0
            if (piece[this.index].innerHTML <= 1) {
                this.disabled = true; //當(dāng)件數(shù)小于等于0時(shí), 將減號(hào)按鈕禁用
            }
            // 5-1-1.當(dāng)前件數(shù)-1
            piece[this.index].innerHTML--;
            // 5-1-2.計(jì)算小計(jì)
            smallPrice[this.index].value = Number(smallPrice[this.index].value) - Number(price[this.index].innerHTML);
            // 6-4.如果當(dāng)前條目是被選中狀態(tài), 則需要將該商品計(jì)入總計(jì)和總價(jià)
            if (liCheck[this.index].checked) { //選中
                totalCount.innerHTML--;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(price[this.index].innerHTML);
            }
        }
        // 6.加號(hào)的點(diǎn)擊事件
        increase[i].onclick = function() {
            // 6-1.將對(duì)應(yīng)的減號(hào)解禁
            decrease[this.index].disabled = false;
            // 6-2.當(dāng)前件數(shù)+1
            piece[this.index].innerHTML++;
            // 6-3.計(jì)算小計(jì)
            smallPrice[this.index].value = Number(smallPrice[this.index].value) + Number(price[this.index].innerHTML);
            // 6-4.如果當(dāng)前條目是被選中狀態(tài), 則需要將該商品計(jì)入總計(jì)和總價(jià)
            if (liCheck[this.index].checked) { //選中
                totalCount.innerHTML++;
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(price[this.index].innerHTML);
            }
        }
        // 7.復(fù)選框的狀態(tài)改變事件
        var count = 0; //存儲(chǔ)選中個(gè)數(shù)
        liCheck[i].onchange = function() {
            // 7-1.判斷是否選中
            if (this.checked) { //選中狀態(tài)
                count++;
                totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[this.index].innerHTML); //總計(jì)加當(dāng)前件數(shù)
                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[this.index].value); //總計(jì)加當(dāng)前件數(shù)
                // 7-1-1. 判斷選中個(gè)數(shù)是否與復(fù)選框個(gè)數(shù)一致
            } else { //取消選中狀態(tài)
                count--;
                totalCount.innerHTML = Number(totalCount.innerHTML) - Number(piece[this.index].innerHTML); //總計(jì)加當(dāng)前件數(shù)
                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(smallPrice[this.index].value); //總計(jì)加當(dāng)前件數(shù)
            }
            count == liCheck.length ? checkAll.checked = true : checkAll.checked = false;
        }
    }
    // 8.全選復(fù)選框
    checkAll.onchange = function() {
        totalCount.innerHTML = 0; //總計(jì)置為0
        totalPrice.innerHTML = 0; //總價(jià)置為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;
            }
        }
    }
}

以上是“JavaScript如何實(shí)現(xiàn)購(gòu)物車結(jié)算”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前名稱:JavaScript如何實(shí)現(xiàn)購(gòu)物車結(jié)算
URL網(wǎng)址:http://jinyejixie.com/article46/ggiihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、云服務(wù)器、全網(wǎng)營(yíng)銷推廣商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
隆昌县| 汾西县| 北辰区| 浠水县| 深水埗区| 集贤县| 金华市| 平武县| 公安县| 上蔡县| 白水县| 祁东县| 惠州市| 沈阳市| 刚察县| 乐至县| 夏河县| 砚山县| 徐汇区| 孙吴县| 清水河县| 石台县| 定日县| 华宁县| 房产| 苏州市| 黄石市| 米易县| 澄迈县| 西林县| 宜良县| 信宜市| 长丰县| 张家川| 延川县| 衡山县| 房山区| 阿克| 册亨县| 常德市| 湖州市|