方法 - 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 这类复合形式)。