Javascript计算函数 - 不在html中计算

时间:2013-07-22 19:01:08

标签: javascript jquery html

我在我创建的网站上实现此计算器时遇到问题。我想我使用了错误的javascript来创建简单的计算,这是以下数学计算:((清单价格 - rrp)/清单价格)* 100

请注意,我知道数值不是数字,请用任何数字替换它们。它仍然无法运作。

这是为了获得列表和RRP的折扣百分比值。

请在HTML之前查看代码:

 <script type="text/javascript">
   discountFinal(#OriginalPrice, #ListPrice);
 </script>
<div id="discountCode">
   <span id="spanish"></span>
   <span id="spanishtwo">%</span>
</div>

使用Javascript:

var discountFinal = function (firstly, secondly) {
                var totalfirst = secondly - firstly;
                var totalsecond = totalfirst / secondly;
                var totalthird = totalsecond * 100;
                if (document.getElementById("discountCode").innerHTML === null) {
                    document.getElementById("spanishtwo").innerHTML.replace("%", "")
                } else {
                    document.getElementById("spanish").innerHTML = Math.floor(totalthird / 5) * 5
                }
            };

我不认为我正在调用html中的函数。请有人帮忙解决这个问题。

http://jsfiddle.net/xwzhY/

3 个答案:

答案 0 :(得分:2)

我不确定您收到的错误,但似乎您在定义之前调用discountFinal函数。当您移动呼叫时,它开始工作:

http://jsfiddle.net/bmonty/xwzhY/4/

OP发表评论后

编辑

您只需要确保在页面顶部定义了discountFinal功能,之前在任何地方调用它。

这将有效:

<script type="text/javascript">
  var discountFinal = function(a, b){};
</script>

<script type="text/javascript">
  var result = discountFinal(1, 2);
</script>

但这会引发错误:

<script type="text/javascript">
  var result = discountFinal(1, 2);
</script>

<script type="text/javascript">
  var discountFinal = function(a, b){};
</script>

要获得一些说明,请在浏览器的HTML页面上查看源代码,以查看生成的页面的外观。这应该指出操作的顺序搞砸了。

答案 1 :(得分:1)

如果您在函数存在后调用它,它可以正常工作:http://jsfiddle.net/xwzhY/2/

只需确保代码中的函数早于您使用它。或者使用函数语句而不是分配给变量的函数表达式来声明它:

function discountFinal(firstly, secondly){

...

答案 2 :(得分:0)

在你的perl变量周围试试“”,你需要传递值