2 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
更改間隔行為(包括其計(jì)時(shí))的最簡(jiǎn)單方法是調(diào)用.restart()
其方法。由于 ad3.interval()
只是一個(gè)d3.timer()
定期執(zhí)行的包裝,它也具有上述.restart()
方法。
#?計(jì)時(shí)器。重新啟動(dòng)(回調(diào)[,延遲[,時(shí)間]])<>
使用指定的回調(diào)和可選的延遲和時(shí)間重新啟動(dòng)計(jì)時(shí)器。這相當(dāng)于停止此計(jì)時(shí)器并使用指定參數(shù)創(chuàng)建一個(gè)新計(jì)時(shí)器,盡管此計(jì)時(shí)器保留了原始調(diào)用優(yōu)先級(jí)。
這可以按照以下方式完成:
const callback = console.log;
const interval = d3.interval(callback, 500);? // initial timing 500ms
interval.restart(callback, 1000);? ? ? ? ? ? ?// updated timing 1000ms
<script src="https://d3js.org/d3.v6.js"></script>

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
d3.interval()
顯然返回創(chuàng)建的計(jì)時(shí)器對(duì)象。
您可以停止舊計(jì)時(shí)器并啟動(dòng)新計(jì)時(shí)器:
var intervalTimer;
// ... other code ...
intervalTimer = d3.interval(callback, 500);
// ... other code ...
intervalTimer.stop();
intervalTimer = d3.interval(callback, 100);
// ...
添加回答
舉報(bào)