代码之家  ›  专栏  ›  技术社区  ›  Jack Sniper

基本jQuery计算器

  •  0
  • Jack Sniper  · 技术社区  · 12 年前

    我正在做一个jQuery计算器。直到几分钟前,一切都很顺利,现在什么都不会发生。我是不是不小心在事故代码中加入了一个坏字符?我已经上下扫描了几次,但找不到来源。任何帮助都将不胜感激!

    头部:

    <script src="http://code.jquery.com/jquery.js"></script>
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link rel="stylesheet" type="text/css" href="css/style-calc.css">
    <script src="js/bootstrap.min.js"></script>
    

    jQuery(查询):

    $(document).ready(function() {
    alert("ready");
     $('#salary, #transcribing-hours, #cost-of-assistant').keydown(function(e){
        var key = e.which;
        if (key != 8 && key != 9 && key != 37 && key != 38 && key != 39 && key != 40 && key != 46 && key != 110 && key != 190 && key != 13){
            if (key < 48){
                e.preventDefault();
            }
            else if (key > 57 && key < 96){
                e.preventDefault();
            }
    
            else if (key > 105) {
                e.preventDefault();
            }
        }
     });
    });
    
    $('#salary').on('input', function() {
        var salary = $('#salary').val();
        var costofassist = $('#cost-of-assistant').val();
        var total = salary / (52 * 40);
        var roundtotal = Math.round(total * 100) / 100;
    
        $('#hourly-pay-total').text(roundtotal);
    
    });
    
    $('#transcribing-hours').on('input', function() {
        var hoursday = $('#transcribing-hours').val();
        var hoursweek = hoursday * 5;
        var hoursmonth = hoursweek * 4.3;
        var hoursyear = hoursweek * 52;
    
        $('#transcribing-year').text(Math.round(hoursyear * 100) / 100);
        $('#transcribing-month').text(Math.round(hoursmonth * 100) / 100);
        $('#transcribing-week').text(Math.round(hoursweek * 100) / 100);
    
        var roundtotal = $('#hourly-pay-total').text();
        var costwithoutyear = (hoursweek * roundtotal) * 52;
        var costwithoutmonth = (hoursweek * roundtotal) * 4.3;
        var costwithoutweek = hoursweek * roundtotal;
    
        $('#cost-without-year').text(Math.round(costwithoutyear * 100) / 100);
        $('#cost-without-month').text(Math.round(costwithoutmonth * 100) / 100);
        $('#cost-without-week').text(Math.round(costwithoutweek * 100) / 100);
    
    });
    
    $('#cost-of-assistant').on('input', function() {
        var costofassist = $('#cost-of-assistant').val();
        var costwithoutyear = $('#cost-without-year').text();
        var annualsavings = costwithoutyear - costofassist;
        var monthlysavings = annualsavings / 12;
        var weeklysavings = annualsavings / 52;
        var dailysavings = annualsavings / 260;
    
        $('#annual-savings').text((Math.round(annualsavings * 100) / 100);
        $('#monthly-savings').text(Math.round(monthlysavings * 100) / 100);
        $('#weekly-savings').text(Math.round(weeklysavings * 100) / 100);
        $('#daily-savings').text(Math.round(dailysavings * 100) / 100);
    });
    
    2 回复  |  直到 12 年前
        1
  •  4
  •   jotaen fydor    12 年前

    在jQuery代码的第59行,一个左括号太多了。

     $('#annual-savings').text((Math.round(annualsavings * 100) / 100);
    

    应该是:

     $('#annual-savings').text(Math.round(annualsavings * 100) / 100);
    

    提示:如果您使用例如Firefox或Safari,您有一个javascript控制台,可以检测此类语法错误。

        2
  •  0
  •   Daria M    11 年前

    我使用firebug插件,我对此很满意。在控制台选项卡中,它会向你显示语法错误,就像ok发现的一样。我使用mozilla,但我很确定Chrome也支持它。你应该试一试。