试图用%符号追加输入值

trying to append input value with % symbol

本文关键字:追加 输入 符号      更新时间:2023-09-26

这段javascript代码对html端输入的值进行计数并以圆形图形的计数器形式输出....

     /* ---------- Circle Progess Bars ---------- */
    function circle_progess() {
      var divElement = $('div'); //log all div elements
      if (retina()) {
        $(".whiteCircle").knob({
          'min': 0,
          'max': 100,
          'readOnly': true,
          'width': 240,
          'height': 240,
          'bgColor': 'rgba(255,255,255,0.5)',
          'fgColor': 'rgba(255,255,255,0.9)',
          'dynamicDraw': true,
          'thickness': 0.2,
          'tickColorizeValues': true
        });
        $(".circleStat").css('zoom', 0.5);
        $(".whiteCircle").css('zoom', 0.999);
      } else {
        $(".whiteCircle").knob({
          'min': 0,
          'max': 100,
          'readOnly': true,
          'width': 120,
          'height': 120,
          'bgColor': 'rgba(255,255,255,0.5)',
          'fgColor': 'rgba(255,255,255,0.9)',
          'dynamicDraw': true,
          'thickness': 0.2,
          'tickColorizeValues': true
        });
      }
      $(".circleStatsItemBox").each(function() {
        var value = $(this).find(".value > .number").html();
        var unit = $(this).find(".value > .unit").html();
        var percent = $(this).find("input").val() / 100;
        countSpeed = 2300 * percent;
        endValue = value * percent;
        $(this).find(".count > .unit").html(unit);
        $(this).find(".count > .number").countTo({
          from: 0,
          to: endValue,
          speed: countSpeed,
          refreshInterval: 50
        });
        //$(this).find(".count").html(value*percent + unit);
      });
    }
<div class="row-fluid hideInIE8 circleStats">
  <div class="span3" ontablet="span4" ondesktop="span3">
    <div class="circleStatsItemBox yellow">
      <div class="header">Disk Space Usage</div>
      <span class="percent">percent</span>
      <div class="circleStat">
        <input value="" class="whiteCircle" type="text">
      </div>
      <div class="footer">
        <span class="count">
								<span class="number">20000</span>
        <span class="unit">MB</span>
        </span>
        <span class="sep"> / </span>
        <span class="value">
								<span class="number">50000</span>
        <span class="unit">MB</span>
        </span>
      </div>
    </div>
  </div>

我基本上是想达到一个点,其中显示的值有一个%后。如果你不明白,我很抱歉。

EDIT

在彻底浏览源代码后,我注意到使用了jQuery Knob插件。大部分源代码都涉及到插件,所以对这个源代码的任何修复都不会产生一个工作示例。因此OP必须转到原始和完整的源代码,并添加以下内容:

var endValue = (value * percent) + "%";

$('.whiteCircle').val(endValue);



试一试:

countSpeed = 2300*percent + "%";

endValue = value*percent + "%";

不完全遵循代码流,但它的要点是无论var最终在哪里结束,将其添加到末尾+ "%";

也许你要显示字符串?

> var X = toString(value*percent) + "%";

见代码片段它似乎工作得很好。显示结果的元素是什么?

片段

var value = .30;
var percent = 100;
var X = value * percent + "%";
document.getElementById('out1').value = X;
//or with jQuery
$('#out2').val(X);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<output id='out1'></output><br/>
<output id='out2'></output>

片段

/* ---------- Circle Progess Bars ---------- */
function circle_progess() {
  var divElement = $('div'); //log all div elements
  if (retina()) {
    /*$(".whiteCircle").knob({
      'min': 0,
      'max': 100,
      'readOnly': true,
      'width': 240,
      'height': 240,
      'bgColor': 'rgba(255,255,255,0.5)',
      'fgColor': 'rgba(255,255,255,0.9)',
      'dynamicDraw': true,
      'thickness': 0.2,
      'tickColorizeValues': true
    });*/
    $(".circleStat").css('zoom', 0.5);
    $(".whiteCircle").css('zoom', 0.999);
  } else {
    /*$(".whiteCircle").knob({
      'min': 0,
      'max': 100,
      'readOnly': true,
      'width': 120,
      'height': 120,
      'bgColor': 'rgba(255,255,255,0.5)',
      'fgColor': 'rgba(255,255,255,0.9)',
      'dynamicDraw': true,
      'thickness': 0.2,
      'tickColorizeValues': true
    });*/
  }
  $(".circleStatsItemBox").each(function() {
    var value = $(this).find(".value > .number").html();
    var unit = $(this).find(".value > .unit").html();
    var percent = $(this).find("input").val() / 100;
    countSpeed = 2300 * percent;
    endValue = value * percent + "%";
    $(this).find(".count > .unit").html(unit);
    var value = .50;
    var percent = 100;
    $('.whiteCircle').val(endValue);
    /* $(this).find(".count > .number").countTo({
       from: 0,
       
       to: endValue,
       speed: countSpeed,
       refreshInterval: 50
     });*/
    //$(this).find(".count").html(value*percent + unit);
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row-fluid hideInIE8 circleStats">
  <div class="span3">
    <div class="circleStatsItemBox yellow">
      <div class="header">Disk Space Usage</div>
      <span class="percent">percent</span>
      <div class="circleStat">
        <input value="0" class="whiteCircle" type="text">
      </div>
      <div class="footer">
        <span class="count">
								<span class="number">20000</span>
        <span class="unit">MB</span>
        </span>
        <span class="sep"> / </span>
        <span class="value">
								<span class="number">50000</span>
        <span class="unit">MB</span>
        </span>
      </div>
    </div>
  </div>