方法 - htmx.parseInterval()

htmx.parseInterval 是 HTMX 内部使用的一个辅助函数,它用于解析以字符串形式给出的时间间隔(如 "2s", "500ms")为数字(以毫秒为单位)。

虽然不是公开文档强调的 API,但你可以在自定义扩展或 JS 脚本中使用它,例如用于读取 hx-interval 的数值,并进行逻辑判断或处理。

参数

  • str - 时间字符串

基本语法

htmx.parseInterval("1s");     // 1000
htmx.parseInterval("500ms");  // 500
htmx.parseInterval("2.5s");   // 2500

支持的单位

  • ms(毫秒)

  • s(秒)

示例

<div id="poller" data-myinterval="2s"></div>

<script>
  const el = document.getElementById("poller");
  const raw = el.getAttribute("data-myinterval");
  const interval = htmx.parseInterval(raw);

  setInterval(() => {
    htmx.ajax('GET', '/ping', { target: el });
  }, interval);
</script>

等效的原生 JavaScript 代码

function parseInterval(str) {
  if (str.endsWith("ms")) return parseFloat(str);
  if (str.endsWith("s")) return parseFloat(str) * 1000;
  return parseFloat(str); // 默认为毫秒
}

注意事项

  • 如果传入非法值,返回的是 NaN。

  • 它是 HTMX 内部使用的工具函数,但稳定可用。

  • 不支持复杂语法(如 1m30s 这类复合形式)。