Sha256: de5b99618fc02cca44433220ec0f93aaca1d7b0ce0e8d06e1e5d3f91ee33d5e8

Contents?: true

Size: 1.85 KB

Versions: 21

Compression:

Stored size: 1.85 KB

Contents

// Kludge in HTML5 tag recognition in IE8
document.createElement("section");
document.createElement("article");

(function() {
  if (!window.addEventListener) return;
  var pending = false, prevVal = null;

  function updateSoon() {
    if (!pending) {
      pending = true;
      setTimeout(update, 250);
    }
  }

  function update() {
    pending = false;
    var marks = document.getElementById("nav").getElementsByTagName("a"), found;
    for (var i = 0; i < marks.length; ++i) {
      var mark = marks[i], m;
      if (mark.getAttribute("data-default")) {
        if (found == null) found = i;
      } else if (m = mark.href.match(/#(.*)/)) {
        var ref = document.getElementById(m[1]);
        if (ref && ref.getBoundingClientRect().top < 50)
          found = i;
      }
    }
    if (found != null && found != prevVal) {
      prevVal = found;
      var lis = document.getElementById("nav").getElementsByTagName("li");
      for (var i = 0; i < lis.length; ++i) lis[i].className = "";
      for (var i = 0; i < marks.length; ++i) {
        if (found == i) {
          marks[i].className = "active";
          for (var n = marks[i]; n; n = n.parentNode)
            if (n.nodeName == "LI") n.className = "active";
        } else {
          marks[i].className = "";
        }
      }
    }
  }

  window.addEventListener("scroll", updateSoon);
  window.addEventListener("load", updateSoon);
  window.addEventListener("hashchange", function() {
    setTimeout(function() {
      var hash = document.location.hash, found = null, m;
      var marks = document.getElementById("nav").getElementsByTagName("a");
      for (var i = 0; i < marks.length; i++)
        if ((m = marks[i].href.match(/(#.*)/)) && m[1] == hash) { found = i; break; }
      if (found != null) for (var i = 0; i < marks.length; i++)
        marks[i].className = i == found ? "active" : "";
    }, 300);
  });
})();

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
jeygeethanmedia-inkpen-1.2.6.2 public/codemirror/doc/activebookmark.js
jeygeethanmedia-inkpen-1.2.6.1 public/codemirror/doc/activebookmark.js
lines-engine-1.2.6.1 public/codemirror/doc/activebookmark.js
lines-engine-1.2.6 public/codemirror/doc/activebookmark.js
lines-engine-1.2.5 public/codemirror/doc/activebookmark.js
lines-engine-1.2.3 public/codemirror/doc/activebookmark.js
lines-engine-1.2.2 public/codemirror/doc/activebookmark.js
lines-engine-1.2.1.1 public/codemirror/doc/activebookmark.js
lines-engine-1.2.1 public/codemirror/doc/activebookmark.js
lines-engine-1.2 public/codemirror/doc/activebookmark.js
lines-engine-1.1.5.3 public/codemirror/doc/activebookmark.js
lines-engine-1.1.5.2 public/codemirror/doc/activebookmark.js
lines-engine-1.1.5.1 public/codemirror/doc/activebookmark.js
lines-engine-1.1.5 public/codemirror/doc/activebookmark.js
lines-engine-1.1.4 public/codemirror/doc/activebookmark.js
lines-engine-1.1.3 public/codemirror/doc/activebookmark.js
lines-engine-1.1.2 public/codemirror/doc/activebookmark.js
lines-engine-1.1.1 public/codemirror/doc/activebookmark.js
lines-engine-1.1.0 public/codemirror/doc/activebookmark.js
lines-engine-1.0.0 public/codemirror/doc/activebookmark.js