亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 70
粉絲 4
評(píng)論 5
訪問量 122094
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
JavaScript: 購(gòu)物車全選自動(dòng)計(jì)算金額和取消全選清零金額
JiaJieChen
原創(chuàng)
1272人瀏覽過

JavaScript: 購(gòu)物車全選自動(dòng)計(jì)算金額和取消全選清零金額

代碼塊

  1. <script>
  2. //首先完成購(gòu)物車的全選按鈕和單個(gè)按鈕進(jìn)行綁定
  3. //拿到全選按鈕
  4. let checkAll = document.querySelector("#check-all");
  5. //拿到單個(gè)按鈕組 單個(gè)按鈕只有name屬性 所以用getElementsByName去拿
  6. let checkItem = document.getElementsByName("item");
  7. //測(cè)試是否拿到 已拿到
  8. // console.log(checkAll, checkItem);
  9. //onchange 是屬性改變時(shí)觸發(fā)狀態(tài)
  10. //將當(dāng)前全選的狀態(tài)變化賦值給單個(gè)按鈕
  11. checkAll.onchange = (ev) => {
  12. checkItem.forEach((item) => (item.checked = ev.target.checked));
  13. };
  14. //將單個(gè)按鈕的狀態(tài)設(shè)置為:全部單個(gè)按鈕選中則選中全選按鈕,如果一個(gè)沒有選中則取消全選按鈕
  15. checkItem.forEach(
  16. (item) =>
  17. (item.onchange = () =>
  18. (checkAll.checked = [...checkItem].every((item) => item.checked)))
  19. );
  20. //設(shè)置一個(gè)自動(dòng)計(jì)算的功能
  21. //首先拿到物品單價(jià)
  22. let itemsMoney = document.querySelectorAll("tbody .price");
  23. // 物品數(shù)量
  24. let itemsValue = document.querySelectorAll("input[type=number]");
  25. //用戶跟新數(shù)量的時(shí)候自動(dòng)計(jì)算
  26. // itemsMoney.forEach((input) => (onchange = autoSum));
  27. // window.onload 頁面加載完成之后自動(dòng)計(jì)算
  28. // window.onload = autoSum;
  29. //測(cè)試是否拿到 已拿到
  30. // console.log(money, itemsValue);
  31. // 設(shè)置一個(gè)自動(dòng)計(jì)算函數(shù)
  32. function autoSum() {
  33. //map 有返回值,forEach沒有
  34. //物品單價(jià)數(shù)組
  35. const itemsMoneys = [...itemsMoney].map(
  36. (money) => money.textContent * 1
  37. );
  38. //物品數(shù)量數(shù)組
  39. const itemsValues = [...itemsValue].map((value) => value.value * 1);
  40. //物品數(shù)量的總數(shù)
  41. let itemsSum = itemsValues.reduce((pre, cur) => pre + cur);
  42. //數(shù)量*單價(jià) = 金額
  43. let autoArr = [itemsMoneys, itemsValues].reduce((total, curr) =>
  44. total.map((item, index) => item * curr[index])
  45. );
  46. //將計(jì)算結(jié)果渲染到頁面中
  47. //總數(shù)量
  48. document.querySelector("#sum").textContent = `${itemsSum}`;
  49. //每個(gè)商品金額渲染到頁面中
  50. document
  51. .querySelectorAll(".amount")
  52. .forEach((item, index) => (item.textContent = autoArr[index]));
  53. //將總金額渲染到頁面中
  54. document.querySelector("#total-amount").textContent = `${autoArr.reduce(
  55. (pre, cur) => pre + cur
  56. )}`;
  57. }
  58. checkItem.forEach(
  59. (item) =>
  60. (item.onchange = () => {
  61. item.checked != false
  62. ? autoSum()
  63. : ((document.querySelector("#total-amount").textContent = 0),
  64. (document.querySelector("#sum").textContent = 0));
  65. })
  66. );
  67. </script>
批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)