首頁 > web前端 > js教程 > 了解 JavaScript 中的 Ticker 函數:它是如何運作的以及詳細解釋

了解 JavaScript 中的 Ticker 函數:它是如何運作的以及詳細解釋

Linda Hamilton
發布: 2024-12-18 16:22:22
原創
898 人瀏覽過

Memahami Function Ticker di JavaScript: Cara Kerja dan Penjelasan Detail

了解 JavaScript 中的 Ticker 函數

Ticker 運行文本,通常用於數位看板應用程式或作為促銷媒體。該文字可以以引人注目的方式顯示新聞、廣告或公告等資訊。運行文字通常使用 HTML 和 CSS 實現,無需 JavaScript 即可操作,儘管許多軟體也提供此功能以更好地調度和控制。

本文討論了 JavaScript 中的股票程式碼功能如何運作,這是我在 Codewars 的挑戰中遇到的。這個函數允許我們使用 JavaScript 來建立滾動文字效果。

什麼是股票代號?

Ticker 是水平移動的文本,常用於各種應用程式中顯示不斷更新的信息,例如最新新聞、公告或廣告。這些效果可以在數位螢幕或電子公告板上找到,通常可以使用 HTML、CSS 和 JavaScript 來實現。

我們將在下面討論的 JavaScript 中的股票程式碼功能,提供了在 Web 應用程式中建立動態運行文字效果的解決方案。

以下是我們將要討論的股票代碼功能代碼:

const ticker = (text, width, tick) => {
  const display = ' '.repeat(width);  // 1
  text = display + text + display;    // 2
  tick = tick % (text.length - width); // 3
  return text.slice(tick, tick + width); // 4
}
登入後複製
登入後複製

股票行情功能說明

函數有三個參數:

  • text:您要顯示的文字。
  • width:想要的顯示寬度,即一次顯示多少個字元。
  • tick:文字的移位位置,決定了函數呼叫時將顯示哪些文字。

以下是該函數中每個步驟的技術解釋:


1.建立空間來換行文字

const display = ' '.repeat(width);
登入後複製
登入後複製

第一步,我們使用repeat()方法建立一個空字串,其中包含與寬度一樣大的空格。 Repeat() 函數將重複指定字元(在本例中為空格)寬度指定的次數。

範例
如果寬度為 5,則顯示變數將包含由 5 個空格組成的字串 ' '。

2.在文字周圍加入空格

text = display + text + display;
登入後複製
登入後複製

第二步,我們在文字(text)的前面和後面加上顯示字串(空格)。這確保了文字兩側都有可用空間,為文字移動(滾動)提供了一個不被切斷的地方。

範例
假設給定的文字是“Hello”,寬度為 5。那麼在這一行之後,文本將是:

const ticker = (text, width, tick) => {
  const display = ' '.repeat(width);  // 1
  text = display + text + display;    // 2
  tick = tick % (text.length - width); // 3
  return text.slice(tick, tick + width); // 4
}
登入後複製
登入後複製

這樣,文字左右就有足夠的空白,以便更流暢的移動。

3.計算文字移動位置

const display = ' '.repeat(width);
登入後複製
登入後複製

第三步,我們使用模運算子(%)來確保刻度值在有效範圍內,並且不超過已被空格包裹的文字長度。

text.length - width 值給出了換行文字的總長度(包括空格)減去我們要顯示的顯示寬度(寬度)。這確保了勾號指定的文字移位不會超過可顯示的文字長度。

範例
如果添加空格後的文字長度為15(例如'Hello'),寬度為5,那麼text.length - width就變成10。也就是說,我們只需要保證刻度在範圍內即可0 到 9。這可以確保文字的移動始終有效,不會遺失任何部分。

4.檢索要顯示的子字串

text = display + text + display;
登入後複製
登入後複製

在最後一步中,我們使用 slice() 方法取得文字字串的一部分,從刻度位置開始到刻度寬度位置。 slice() 函數傳回字串中與該位置對應的部分。

範例
例如,如果tick = 3且width = 5,則代碼slice(3, 8)將從字串「Hello」產生子字串「Hello」。

透過這種方式,我們顯示了長度與寬度相符的部分文字。每次使用不同的刻度值呼叫此函數時,顯示的文字都會移動,從而創建移動或滾動效果。


使用股票代碼功能的範例

讓我們來看看在程式碼中使用此函數的範例:

'     Hello     '
登入後複製

發生的過程是:

  1. 顯示 = ' '(5 個空格)。
  2. 修改後的文字:「Hello World」。
  3. 刻度值 = 3,換行後文字的長度為 18。當寬度 = 5 時,我們知道刻度的範圍可以從 0 到 13。
  4. slice(3, 8) 函數將傳回子字串 'Hello'。

如果我們在下次呼叫時增加刻度值,文字將進一步移動,顯示的文字部分也會改變。

文字如何移動?

建立移動效果是因為每次我們呼叫ticker函數時,tick值都會改變。隨著刻度值的增加,顯示的文字部分也會改變。這會產生移動效果,因為刻度線會動態滾動文字。

為了進一步測試這種效果,我們可以透過定期增加刻度值來循環呼叫ticker函數,例如使用setInterval()每隔幾秒鐘更新一次顯示。


如果您有興趣嘗試類似的挑戰,我透過 Codewars 發現了這個功能,這是提高您的 JavaScript 程式設計技能的有趣練習。

祝你好運,我希望這篇文章有助於理解 JavaScript 中的股票行情效果如何運作!

以上是了解 JavaScript 中的 Ticker 函數:它是如何運作的以及詳細解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板