zoukankan      html  css  js  c++  java
  • ACCP6.0第九章练习

    1 //根据标签ID获取值
    2 function $(id)
    3 {
    4 return document.getElementById(id);
    5 }
    6 //全局变量
    7 var inputs = document.getElementsByTagName("input");
    8 //初始化数量和Checkbox状态,默认为0和全选
    9 function init()
    10 {
    11 $("jifen").textContent = 0;
    12 $("price").textContent = 0;
    13 for(var i=0;i<inputs.length;i++)
    14 {
    15 if(inputs[i].type == "text")
    16 {
    17 inputs[i].value=1;
    18 initPrice(inputs[i].parentNode.parentNode);
    19 }
    20 if(inputs[i].type == "checkbox")
    21 {
    22 inputs[i].checked=true;
    23 }
    24 }
    25 }
    26 //增加和删除数量
    27 function change(item)
    28 {
    29 if(item.value == "+")
    30 {
    31 item.parentNode.childNodes[1].value = parseInt( item.parentNode.childNodes[1].value) +1;
    32 calPrice(item.parentNode.parentNode,"+");
    33 return;
    34 }
    35 if(item.value == "-")
    36 {
    37 if(parseInt( item.parentNode.childNodes[1].value) <= 0)
    38 {
    39 alert(">=0");
    40 return;
    41 }
    42 item.parentNode.childNodes[1].value = parseInt( item.parentNode.childNodes[1].value) -1;
    43 calPrice(item.parentNode.parentNode,"-");
    44 return;
    45 }
    46 }
    47 //计算加载页面时的价格
    48 function initPrice(item)
    49 {
    50 var p = parseInt(item.childNodes[3].textContent);
    51 item.childNodes[5].textContent = p;
    52 //计算价格和积分
    53 var jifen = parseInt($("jifen").textContent) + parseInt(item.childNodes[2].textContent);
    54 $("jifen").textContent = jifen;
    55 var price = parseInt($("price").textContent) + parseInt(item.childNodes[3].textContent);
    56 $("price").textContent = price;
    57 }
    58 //根据数量的改变,实时改变价格和积分
    59 function calPrice(item,item2)
    60 {
    61 //alert(item.childNodes[2].textContent);
    62 //IE浏览器使用innerText属性,因测试环境是Chrome浏览器,故未曾考虑兼容性
    63 var p;
    64 var jifen;
    65 var price;
    66 switch(item2)
    67 {
    68 case "+":
    69 //计算当前行价格
    70 p = parseInt(item.childNodes[3].textContent) + parseInt(item.childNodes[5].textContent);
    71 //计算价格和积分
    72 jifen = parseInt($("jifen").textContent) + parseInt(item.childNodes[2].textContent);
    73 price = parseInt($("price").textContent) + parseInt(item.childNodes[3].textContent);
    74 break;
    75 case "-":
    76 //计算当前行价格
    77 p = parseInt(item.childNodes[5].textContent) - parseInt(item.childNodes[3].textContent);
    78 //计算价格和积分
    79 jifen = parseInt($("jifen").textContent) - parseInt(item.childNodes[2].textContent);
    80 price = parseInt($("price").textContent) - parseInt(item.childNodes[3].textContent);
    81 break;
    82 }
    83 item.childNodes[5].textContent = p;
    84 $("jifen").textContent = jifen;
    85 $("price").textContent = price;
    86 }
    87 //实现全选和反选功能
    88 function selectAll()
    89 {
    90 if( $("sa").checked == true)
    91 {
    92 for(var i=0;i<inputs.length;i++)
    93 {
    94 if(inputs[i].type == "checkbox")
    95 {
    96 inputs[i].checked=true;
    97 }
    98 }
    99 }
    100 else
    101 {
    102 for(var i=0;i<inputs.length;i++)
    103 {
    104 if(inputs[i].type == "checkbox")
    105 {
    106 inputs[i].checked=false;
    107 }
    108 }
    109 }
    110 }
    111 //当任意一个反选是,取消全选,反之,亦然
    112 function changeStatus()
    113 {
    114 $("sa").checked = true;
    115 for(var i=0;i<inputs.length;i++)
    116 {
    117 if(inputs[i].type == "checkbox")
    118 {
    119 if(inputs[i].checked == false)
    120 {
    121 $("sa").checked = false;
    122 }
    123 }
    124 }
    125 }
    126 //实现删除功能,每列最后的删除功能
    127 function deleteRow(item)
    128 {
    129 var t = item.parentNode.parentNode;
    130 var i = t.rowIndex;
    131 //IE浏览器使用innerText属性,因测试环境是Chrome浏览器,故未曾考虑兼容性
    132 //计算价格和积分
    133 var jifen = parseInt($("jifen").textContent) - (parseInt(t.childNodes[4].childNodes[1].value) * parseInt(t.childNodes[2].textContent));
    134 $("jifen").textContent = jifen;
    135 var price = parseInt($("price").textContent) - parseInt(t.childNodes[5].textContent);
    136 $("price").textContent = price;
    137 $("t1").deleteRow(i);
    138 $("t1").deleteRow(i-1);
    139 }
    140 //删除按钮功能的实现
    141 function deleteC()
    142 {
    143 for(var i=inputs.length-1;i>0;i--)
    144 {
    145 if(i != 0 && inputs[i].type == "checkbox")
    146 {
    147 if(inputs[i].checked==true)
    148 {
    149 deleteRow(inputs[i]);
    150 }
    151 }
    152 }
    153 $("sa").checked = false;
    154 }
    155 window.onload=init;
    1
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2
    3 <html xmlns="http://www.w3.org/1999/xhtml">
    4 <head>
    5 <title>无标题页</title>
    6 <style type="text/css">
    7 img
    8 {
    9 vertical-align:middle;
    10 }
    11 tbody td
    12 {
    13 text-align: center;
    14 }
    15 span
    16 {
    17 color: Red;
    18 }
    19 input[type="text"]
    20 {
    21 width: 20px;
    22 text-align: center;
    23 }
    24 </style>
    25 <script type="text/javascript"src="JScript.js"></script>
    26 </head>
    27 <body>
    28 <table id="t1" border="1" cellpadding="0" cellspacing="0" width="700px">
    29 <thead>
    30 <tr><td style="30px;"><input type="checkbox" id="sa" checked ="checked" onclick="selectAll();"/></td><td style="auto;">店铺宝贝</td><td style="80px;">获积分</td><td style="100px;">单价(元)</td><td style="80px;">数量</td><td style="80px;">小记(元)</td><td style="50px;">操作</td></tr>
    31 </thead>
    32 <tbody>
    33 <tr align="left"><td align="left" colspan="7">123</td></tr>
    34 <tr><td><input type="checkbox" onclick="changeStatus();" /></td><td><img src="" alt="Pic1" />des</td><td>5</td><td>138.00</td><td><input type="button" value="-"onclick="change(this)" /><input type="text" readonly="readonly" /><input type="button" value="+" onclick="change(this)" /></td><td>138</td><td><span onclick="deleteRow(this)">删除</span></td></tr>
    35 <tr><td colspan="7">123</td></tr>
    36 <tr><td><input type="checkbox" onclick="changeStatus();" /></td><td><img src="" alt="Pic1" />des</td><td>12</td><td>265.00</td><td><input type="button" value="-" onclick="change(this)"/><input type="text" readonly="readonly" /><input type="button" value="+" onclick="change(this)" /></td><td>138</td><td><span onclick="deleteRow(this)">删除</span></td></tr>
    37 <tr><td colspan="7">123</td></tr>
    38 <tr><td><input type="checkbox" onclick="changeStatus();" /></td><td><img src="" alt="Pic1" />des</td><td>3</td><td>85.00</td><td><input type="button" value="-" onclick="change(this)" /><input type="text" readonly="readonly" /><input type="button" value="+" onclick="change(this)" /></td><td>138</td><td><span onclick="deleteRow(this)">删除</span></td></tr>
    39 <tr><td colspan="7">123</td></tr>
    40 <tr><td><input type="checkbox" onclick="changeStatus();" /></td><td><img src="" alt="Pic1" />des</td><td>12</td><td>12.00</td><td><input type="button" value="-" onclick="change(this)" /><input type="text" readonly="readonly" /><input type="button" value="+" onclick="change(this)"/></td><td>138</td><td><span onclick="deleteRow(this)">删除</span></td></tr>
    41 </tbody>
    42 <tfoot>
    43 <tr><td colspan="7" align="right">商品总价(不含运费):<span id="price"></span></td></tr>
    44 <tr><td><input type="button" value="删除所选" onclick="deleteC()" /></td><td colspan="6" align="right">可获积分<span id="jifen"></span></td></tr>
    45 <tr><td colspan="7" align="right"><input type="button" value="立即购买" /></td></tr>
    46 </tfoot>
    47 </table>
    48 </body>
    49 </html>
  • 相关阅读:
    React 框架 | 深入剖析 Scheduler 原理 广东靓仔
    Spool and Print [转]
    Excel表中的文本格式与数字格式转换方法(转)
    什么叫网关的精解(超经典)(zt)
    如何在公司局域网内部上网使用代理服务器突破网关(zt)
    百鸟之王
    两种修改网卡物理地址的秘笈
    MAC地址作用以及原理(ZT)
    js 通过后台接口返回的URL地址下载文件并保存到本地(已在项目中使用,保存音视频文件)
    DataTable中数据记录的统计
  • 原文地址:https://www.cnblogs.com/changweihua/p/2076395.html
Copyright © 2011-2022 走看看