欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用js編寫的簡單的計(jì)算器代碼程序

 更新時間:2015年08月04日 14:48:16   投稿:lijiao  
這篇文章主要介紹了用js編寫的簡單的計(jì)算器代碼程序,非常具有實(shí)用性,感興趣的小伙伴可以參考下

最近編寫的一個簡單的計(jì)算器代碼程序,先給大家展示一下

分享代碼如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title> 
<style type="text/css">
 #box{width: 295px; margin: 0 auto; text-align: justify; border: 1px solid #ddd; padding: 15px;}
 .d_num{display: inline-block; margin: 10px; width: 33px; height: 30px; border: 1px solid #ddd; text-align: center; line-height: 30px; cursor: pointer;}
 .sum{margin: 0 10px 10px; line-height: 30px; font-size: 20px;}
 #sum{width: 205px; height: 30px; padding: 0 5px; margin-left: 5px; font-size: 20px;}
 #process{width: 255px; height: 30px; padding: 0 5px; margin-left: 5px; font-size: 20px;}
</style>
</head> 
<body> 
 <div id="box">
 <div class="sum">
  <input type="text" name="process" id="process" value="0" />
 </div>
 <div class="sum">
  SUM:<input type="text" name="sum" id="sum" value="0" />
 </div>
 <div>
  <span data-num="1" class="d_num">1</span>
  <span data-num="2" class="d_num">2</span>
  <span data-num="3" class="d_num">3</span>
  <span data-num="<-" class="d_num"><-</span>
  <span data-num="C" class="d_num">C</span>
 </div>
 <div>
  <span data-num="4" class="d_num">4</span>
  <span data-num="5" class="d_num">5</span>
  <span data-num="6" class="d_num">6</span>
  <span data-num="*" class="d_num">*</span>
  <span data-num="/" class="d_num">/</span>
 </div>
 <div>
  <span data-num="7" class="d_num">7</span>
  <span data-num="8" class="d_num">8</span>
  <span data-num="9" class="d_num">9</span>
  <span data-num="+" class="d_num">+</span>
  <span data-num="-" class="d_num">-</span>
 </div>
 <div>
  <span data-num="0" class="d_num">0</span>
  <span data-num="00" class="d_num">00</span>
  <span data-num="." class="d_num">.</span>
  <span data-num="%" class="d_num">%</span>
  <span data-num="=" class="d_num">=</span>
 </div>
 </div>
 <script type="text/javascript">
 var $box = document.getElementById('box');
 var $sum = document.getElementById('sum');
 var $process = document.getElementById('process');
 var sum = 0, process = '', num1 = '', num2 = '', temp = '', statu = false;
 $box.onclick = function(e){
 var event = window.event || e;
 var ele = event.srcElement || event.target;
 var _className = ele.className;
 if(_className == 'd_num'){
  var num = ele.getAttribute('data-num');//點(diǎn)擊的按鈕對應(yīng)的值
  var NotNum = isNaN(num);
  if(!NotNum || num == '.'){ //點(diǎn)擊了數(shù)字
  if(!statu){ //還沒點(diǎn)擊過符號
   if(num1 == '0'){
   num1 = '';
   }
   num1 += num;
   process = num1;
  }else{ //已經(jīng)點(diǎn)擊過符號
   if(num2 == '0'){
   num2 = '';
   }
   num2 += num;
   process = num1 + temp + num2;
  }
  $process.value = process;
  }
  else{ //點(diǎn)擊了符號
  if(num1 == ''){//非法操作
   return false;
  }
  if(num == 'C'){//歸零
   num1 = '';
   num2 = '';
   process = '';
   temp = '';
   sum = '';
   $process.value = '0';
   $sum.value = '0';
   statu = false;
   return false;
  }
  if(num == '<-'){//退檔
   if(sum != ''){
   return false;
   }
   if(num2 == ''){
;   num1 = num1.substring(0,num1.length-1);
   if(num1 == ''){
    num1 = '0';
   }
   process = num1;
   $process.value = process;
   }else{
   num2 = num2.substring(0,num2.length-1);
   if(num2 == ''){
    num2 = '0';
   }
   process = num1 + temp + num2;
   $process.value = process;
   }
   return false;
  }
  if(num2 != ''){//a&b
   if(num == '='){//元操作到此結(jié)束
   $process.value = process;
   }else{
   $process.value = process + num;
   }
   switch(temp){//元操作繼續(xù)
   case '+' : sum = parseFloat(num1) + parseFloat(num2); $sum.value = sum; $process.value = process; num1 = sum + ''; num2 = ''; break;
   case '-' : sum = parseFloat(num1) - parseFloat(num2); $sum.value = sum; $process.value = process; num1 = sum + ''; num2 = ''; break;
   case '*' : sum = parseFloat(num1) * parseFloat(num2); $sum.value = sum; $process.value = process; num1 = sum + ''; num2 = ''; break;
   case '/' : sum = parseFloat(num1) / parseFloat(num2); $sum.value = sum; $process.value = process; num1 = sum + ''; num2 = ''; break;
   case '%' : sum = parseFloat(num1) % parseFloat(num2); $sum.value = sum; $process.value = process; num1 = sum + ''; num2 = ''; break;
   }
  }else{//a&?
   if(num == '='){
   return false;
   }
   $process.value = process + num;
   process = '';
  }
  if(num == '='){
   sum = '';
   statu = false;
   return false;
  }
  temp = num;//記錄操作符
  statu = true;//已經(jīng)觸發(fā)操作狀態(tài)
  }
 }
 };
 </script>
</div> 
</body> 
</html> 

現(xiàn)在只是個簡單的標(biāo)準(zhǔn)計(jì)算器,能進(jìn)行加減乘除連續(xù)運(yùn)算,以及求余運(yùn)算。如果發(fā)生被除數(shù)為零的錯誤,下面會給出提示,就像這樣:

這就是我設(shè)計(jì)的一個小程序,還有許多改進(jìn)的地方,比如界面的美化,會再接再厲。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Javascript中3種實(shí)現(xiàn)繼承的方法和代碼實(shí)例

    Javascript中3種實(shí)現(xiàn)繼承的方法和代碼實(shí)例

    這篇文章主要介紹了Javascript中3種實(shí)現(xiàn)繼承的方法和代碼實(shí)例,這3種方法分別為對象冒充、原型繼承、上二者的混合,需要的朋友可以參考下
    2014-08-08
  • uni-app返回上一個頁面并進(jìn)行頁面刷新的方法

    uni-app返回上一個頁面并進(jìn)行頁面刷新的方法

    這篇文章主要給大家介紹了關(guān)于uni-app返回上一個頁面并進(jìn)行頁面刷新的相關(guān)資料,返回上一頁面在uniapp有多種方法,文中給出了詳細(xì)的圖文示例,需要的朋友可以參考下
    2023-07-07
  • JS原生數(shù)據(jù)雙向綁定實(shí)現(xiàn)代碼

    JS原生數(shù)據(jù)雙向綁定實(shí)現(xiàn)代碼

    本文通過實(shí)例代碼給大家介紹了JS原生數(shù)據(jù)雙向綁定問題,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-08-08
  • 最新評論