マイナス記號(hào)関數(shù)を?qū)g裝するための JavaScript ショッピング カート開発チュートリアル
前のセクションでプラス記號(hào)関數(shù)の実裝を?qū)Wびましたので、マイナス記號(hào)関數(shù)について説明しましょう
まずは前のセクションのコードを見てください
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> table{width:350px;border:1px solid #eee;text-align:center;} .tr2{height:50px;} input{width:30px;height:20px;text-align: center;} a{text-decoration:none} </style> <script type="text/javascript"> window.onload=function(){ var input = document.getElementById('id').value; //獲取文本框的value值 var good = document.getElementById('td').innerHTML; //獲取id是td的html文本內(nèi)容 //加號(hào)功能 document.getElementById('a2').onclick = function(){ var v1 = document.getElementById('id').value; v1=parseInt(v1); document.getElementById('id').value = v1 + 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1+1); } } </script> </head> <body> <table cellspacing="0" cellpadding="0" border="1"> <tr> <th>名稱</th> <th>單價(jià)</th> <th>數(shù)量</th> <th>總價(jià)</th> </tr> <tr class="tr2"> <td>手表</td> <td id="td">1999</td> <td> <a href="#" id="a1" class="tp1">-</a> <input type="text" value="1" id="id"> <a href="#" id="a2" class="tp2">+</a> </td> <td id="td2">1999</td> </tr> </table> </body> </html>
これを基にマイナス記號(hào)関數(shù)を書いていきます
マイナス記號(hào)関數(shù) とても簡(jiǎn)単です。プラス記號(hào)のコードをコピーして、少し変更します
<script> document.getElementById('a1').onclick = function(){ var v1 = document.getElementById('id').value; v1=parseInt(v1); document.getElementById('id').value = v1 - 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1-1); } </script>
このようにして、マイナス記號(hào)関數(shù)が実裝されていますが、まだ少し問題があることに注意する必要があります。 1 に減らした後は、減少し続けることができるため、負(fù)の數(shù)値が表示されます。したがって、これに対処する必要があります
數(shù)量の値が 1 より大きい場(chǎng)合は、減少し続けることができます。 1、數(shù)量ボックスにデフォルト値
のコードを與えることができます:
<script> document.getElementById('a1').onclick = function(){ var v1 = document.getElementById('id').value; if(v1>1){ v1=parseInt(v1); document.getElementById('id').value = v1 - 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1-1); }else{ document.getElementById('id').value=1; } } </script>
このようにして、ショッピングカートの加算と減算の機(jī)能と、數(shù)量の変化に応じて合計(jì)金額が変化する機(jī)能があります。完全なコードは次のとおりです:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> table{width:350px;border:1px solid #eee;text-align:center;} .tr2{height:50px;} input{width:30px;height:20px;text-align: center;} a{text-decoration:none} </style> <script type="text/javascript"> window.onload=function(){ var input = document.getElementById('id').value; //獲取文本框的value值 var good = document.getElementById('td').innerHTML; //獲取id是td的html文本內(nèi)容 //加號(hào)功能 document.getElementById('a2').onclick = function(){ var v1 = document.getElementById('id').value; v1=parseInt(v1); document.getElementById('id').value = v1 + 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1+1); } //減號(hào)功能 document.getElementById('a1').onclick = function(){ var v1 = document.getElementById('id').value; if(v1>1){ v1=parseInt(v1); document.getElementById('id').value = v1 - 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1-1); }else{ document.getElementById('id').value=1; } } } </script> </head> <body> <table cellspacing="0" cellpadding="0" border="1"> <tr> <th>名稱</th> <th>單價(jià)</th> <th>數(shù)量</th> <th>總價(jià)</th> </tr> <tr class="tr2"> <td>手表</td> <td id="td">1999</td> <td> <a href="#" id="a1" class="tp1">-</a> <input type="text" value="1" id="id"> <a href="#" id="a2" class="tp2">+</a> </td> <td id="td2">1999</td> </tr> </table> </body> </html>