首頁 > web前端 > css教學 > 如何在 JavaScript 中存取 CSS 計數器值?

如何在 JavaScript 中存取 CSS 計數器值?

Patricia Arquette
發布: 2024-12-04 14:43:11
原創
731 人瀏覽過

How to Access CSS Counter Values in JavaScript?

如何在JavaScript 中存取CSS 產生的內容

問題:

問題:

問題:

問題:

答案:

存取即時計數器值

不幸的是,JavaScript 中沒有直接介面來存取CSS 產生的即時計數器值。嘗試透過 getCompulatedStyle 檢索它們只會傳回樣式表中宣告的值,而不是實際的執行時間值。
window.onload = function () {
  // Get all counter elements
  var counters = Node_getElementsByClassName(document.body, 'counter');

  // Initialize indices
  var indices = [];
  for (var counteri = 0; counteri < counters.length; counteri++) {
    // Get counter level
    var counter = counters[counteri];
    var level = Element_getClassArgument(counter, 'level');

    // Update indices
    while (indices.length <= level) indices.push(0);
    indices[level]++;
    indices = indices.slice(level + 1);

    // Create text node for figure number
    var text = document.createTextNode('Figure ' + indices.join('.'));

    // Insert figure number before counter element
    counter.parentNode.insertBefore(text, counter.nextSibling);

    // If counter has an ID, add figure number to links
    if (counter.id !== '') {
      for (var linki = document.links.length; linki > 0; linki--) {
        var link = document.links[linki];
        if (link.hostname === location.hostname && link.pathname === location.pathname && link.search === location.search && link.hash === '#' + counter.id) {
          // Create text node for link number
          var text = document.createTextNode('(' + indices.join('.') + ')');

          // Insert link number after link
          link.parentNode.insertBefore(text, link.nextSibling);
        }
      }
    }
  }
};
登入後複製

DOM Level 2 Style Counter 介面最初看起來很有前途,但也缺少一個屬性來檢索當前計數器值.

替代方法由於直接存取即時計數器值不可行,另一種方法是使用JavaScript 複製瀏覽器自己的計數器機制。可以使用以下腳本:此腳本將圖形編號新增至標題和圖形元素,並將相應的編號附加到引用這些標題和圖形的連結。

以上是如何在 JavaScript 中存取 CSS 計數器值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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