基本JS实现基本数学转换值

时间:2016-02-17 01:07:00

标签: javascript drupal-7

在每个人都投票之前,我已经阅读了数百件事情并且仍然丢失,因为我根本不了解java,所有在这里找到的例子我都无法在我的具体实例中工作。我已经足够了解我需要的数学但不知道如何应用现有代码我必须解决问题。非常感谢帮助!

我有一个值$ y,它作为数字存储在数据库中。我需要做一些数学运算才能将其转换为百分比。然后在标记中输出它。类似的东西:

(数字 - $ y)/数字

我只是不知道如何正确编码。

试过这个,但没有运气......我的语法不正确

$test = percentage = ('800' - $y) / '800';

我也不确定在哪里放置。我在下面添加了从数据库中获取$ y值的地方,但也许这也不正确。

$i = 0;
  foreach ($nodes as $item) {
    $node = node_load($item->nid);
    $node_url = drupal_get_path_alias('node/'.$item->nid);
    $name = check_plain($node->title);
    $field_y = field_get_items('node', $node, 'simplepinitem_y');
    $y = field_view_value('node', $node, 'simplepinitem_y', $field_y[0]);
    $y = check_plain($y['#markup']);
    $test = percentage = ('800' - $y) / '800';

最后我需要调用并将显示输出中的$ y替换为我的计算值。这就是为什么我认为我需要创建像$ test =这样的东西但显然不正确,因为它出错了。

$markers_html .= '<li style="top:' . $test . '%;left:' . $x . 'px" id="simplepinmap-pin-' . $i . '" class="simplepinmap-pins">' . theme('image', $marker) . '</li>';

2 个答案:

答案 0 :(得分:0)

要计算百分比(满分100分),您可以使用(number_one / number_two) * 100,如下面的示例所示。

您应该可以为代码修改代码,其中number_one变为$y并且您需要对其余代码进行硬编码。

&#13;
&#13;
var number_one = 80;
var number_two = 160;

// the variable below calculates "what percentage is 80 of 160"

var percentage = (number_one / number_two) * 100

$('[data-percentage]').text(percentage)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <b>80</b> is <span data-percentage></span>% of <b>160</b>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题是百分比=在那里。它只需要

$test = (calculation);

两种计算工作的方式,所以在其他人遇到相同问题的情况下发布两次计算。

建议:

$leftx = ($x / 788) * 100;

但是如果你需要另一方或剩余部分或百分比。您可以使用:

$leftx = (788 - $y) / 788 * 100;

那么在代码中的位置是正确的:

$y = field_view_value('node', $node, 'simplepinitem_y', $field_y[0]);
$y = check_plain($y['#markup']);
$topy = (416 - $y) / 416 * 100;

当然,我需要改变我想要调用我的新变量$ topy

的位置
   $markers_html .= '<li style="top:' . $topy . '%;left:' . $leftx . '%" id="simplepinmap-pin-' . $i . '" class="simplepinmap-pins">' . theme('image', $marker) . '</li>';