亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

d3.js 中計時器運行時是否可以改變時間間隔?

d3.js 中計時器運行時是否可以改變時間間隔?

慕哥6287543 2023-07-06 17:47:31
我希望能夠調整回調之間的時間間隔。我按以下方式使用 d3 的間隔:let?timeInterval?=?500; d3.interval(callback,?timeInterval);現在,在執行過程中的某個時刻,我希望能夠調整 timeInterval 的值(通過用戶輸入)并將其反映在后續回調執行的速度中。這可能嗎?如果可能的話,如何實現?
查看完整描述

2 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

更改間隔行為(包括其計時)的最簡單方法是調用.restart()其方法。由于 ad3.interval()只是一個d3.timer()定期執行的包裝,它也具有上述.restart()方法。

#?計時器重新啟動回調[,延遲[,時間]])<>

使用指定的回調和可選的延遲和時間重新啟動計時器。這相當于停止此計時器并使用指定參數創建一個新計時器,盡管此計時器保留了原始調用優先級。

這可以按照以下方式完成:

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>


查看完整回答
反對 回復 2023-07-06
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

d3.interval()顯然返回創建的計時器對象。

您可以停止舊計時器并啟動新計時器:

var intervalTimer;

// ... other code ...

intervalTimer = d3.interval(callback, 500);

// ... other code ...

intervalTimer.stop();

intervalTimer = d3.interval(callback, 100);

// ...


查看完整回答
反對 回復 2023-07-06
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號