onclick /计算总和的问题

时间:2018-01-07 20:09:16

标签: javascript sum

首先我要说的是,虽然我有一些编程经验(大学课程中的一些基本C和我曾经在大学为教授写过一个FORTRAN程序),但我对JS完全不熟悉并且开始有点沮丧。

出于某种原因,即使在阅读了教程并在对象上观看了几个YouTube视频之后,我似乎无法绕过它。我理解基础知识并且做非常基本的事情没有问题,比如编写一个在HTML网站上打印出增量的循环,但每次我尝试实际的东西时,我都完全不知所措。

这是我目前的问题:我创建了这个HTML网站,可以生成购物清单。基本上,当我单击项目名称旁边的其中一个按钮时,它会将该项目添加到屏幕中间的列表中。感谢Google,我发现了一段JavaScript代码,通过尝试和错误,我设法为此目的进行了调整:

<!-- click this button to add the item-->
<button onclick="myFunction('ITEM1', 100)"  class="sidebarbuttons"  >ITEM1 </button>

 /*   Create a List one line at a time- */  
        <script> 
            function myFunction( x, y ) {                       
                var node = document.createElement("LI" );    
                var textnode = document.createTextNode(x);
                    node.appendChild(textnode);
                    document.getElementById("myList").appendChild(node);
                                        }
        </script>  

到目前为止,这么好。现在我想获得所有商品的净价。这意味着,当我单击按钮时,我想要一个函数将该项的价格添加到变量中,然后在一个字段中显示该变量

      document.getElementById("result").innerHTML = total_sum;

这是我的问题:哦,天啊,我该怎么做?我想我可以添加以下内容:

        function myfunction(x,y){ 

                          var sum = 0;
                          var sum+=y;

                          }
                          document.getElementById("result").innerHTML = 'sum';

显然,这根本不起作用。能不能给我一些提示,告诉我要做些什么呢?

2 个答案:

答案 0 :(得分:2)

首先,

请考虑更好地学习JavaScript,因为它是一种简单的编程语言,在不知道语言的情况下复制和粘贴非常危险。阅读很多,看很多并且不知道从哪里开始是很正常的,这是因为人们讨厌JavaScript的主要原因:因为我们不太熟悉JavaScript。因此,请考虑阅读Kyle Simpson撰写的“你不知道”系列丛书。

关于你的问题。您可以添加一个变量来存储项目的总和,当您点击某个项目时,您可以添加它:

var total_sum = 0;

function myFunction( x, y ) {                       
  var node = document.createElement("LI" );    
  var textnode = document.createTextNode(x);
  node.appendChild(textnode);
  document.getElementById("myList").appendChild(node);
  showResults(y);
}

function showResults(price){
  total_sum += parseFloat(price)
  document.getElementById("result").innerHTML = total_sum;
}

JSBIN

让我知道;)

答案 1 :(得分:0)

所以你走在正确的轨道上。在最后一个代码块中提取您离开的位置,您将需要更改一些内容。

//declare the variable outside of the function... otherwise it will only be available to you within that function.
var totalSum = 0; 

// then within your function you will be able to successfully add to the global totalSum variable
function calculateSum(x){
    totalSum += x;

    // and lastly... set the innerHTML within the function... which should equal the variable totalSum
    document.getElementById("result").innerHTML = totalSum;
}

希望这有帮助。