【问题标题】:Split a numeric value into single digit spans将数值拆分为单个数字范围
【发布时间】:2018-11-28 09:12:40
【问题描述】:

我有以下代码可以将小时数倒计时到某个时间。出于 CSS 的目的,我需要将数字拆分为单个跨度,例如:

<p>Hours Left</p>
<span>4</span>
<span>6</span>

而不是&lt;span&gt;46&lt;/span&gt;

你能帮我实现它吗?

我正在使用以下代码:

var end = new Date('12/18/2018');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var timer;

function showRemaining() {
  var now = new Date();
  var distance = end - now;
  if (distance < 0) {
    clearInterval(timer);
    document.getElementById('countdown').innerHTML = 'EXPIRED!';
    return;
  }
  var hours = Math.floor((distance) / _hour);
  document.getElementById('countdown').innerHTML = hours;
}

timer = setInterval(showRemaining, 1000);
&lt;p id="countdown"&gt;&lt;/p&gt;

【问题讨论】:

    标签: javascript split numbers number-formatting


    【解决方案1】:

    像这样:

    var hours = 12;
    var hours_html = hours.toString().replace(/(.)/g, "<span>$1</span>");
    // "<span>1</span><span>2</span>"
    

    【讨论】:

      【解决方案2】:

      您需要拆分小时值并将其重新组合在一起:

      JSFIDDLE

      详情:

      设置这些行:

      var split_hours = (hours+"").split('');
      
      document.getElementById('countdown').innerHTML =  '<span>'+split_hours.join('</span><span>')+'</span>';
      

      这不是最干净的解决方案,但工作稳定。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 2020-02-28
      相关资源
      最近更新 更多