Javascript计算功能 - 不在html中计算

标签 javascript jquery html

我在我创建的网站上实现此计算器时遇到问题。我认为我使用了错误的 JavaScript 来创建简单的计算,即以下数学计算:((标价 - rrp)/标价) * 100

请注意,我知道这些值不是数字,请用任何数字替换它们。它仍然不起作用。

这是为了获取列表和建议零售价的折扣百分比值。

请先检查 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/

最佳答案

我不确定您遇到的错误,但似乎您在定义之前调用了 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 页面上的源代码,以查看结果页面的外观。这应该指出操作顺序困惑的地方。

关于Javascript计算功能 - 不在html中计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795346/

相关文章:

php - 在 php 代码中生成多个 Div

javascript - Dyntable 排序在 Ajax 中根本不起作用

javascript - 如何将元素附加到动态生成的元素

javascript - 如何嵌入多个 Facebook 视频(使用 React)

javascript - 单击链接并到达特定页面部分时 jQuery 交换 Logo

jquery - 增加完整日历的最大宽度 css 会忽略 scrollTime

javascript - 工具提示箭头不出现

javascript - 在 FireFox 中关闭可编辑的 div 中的语法更正

javascript - jQuery可编辑数据网格突然无法在Firefox中工作

javascript - 模态表单上的 jQuery Submit() vc click()