diff --git a/src/resources/markdown_template.html b/src/resources/markdown_template.html index 149a0745..5ed8d112 100644 --- a/src/resources/markdown_template.html +++ b/src/resources/markdown_template.html @@ -5,6 +5,22 @@ + + + diff --git a/src/resources/markdown_template.js b/src/resources/markdown_template.js index 77a3035b..a4e910fd 100644 --- a/src/resources/markdown_template.js +++ b/src/resources/markdown_template.js @@ -51,6 +51,20 @@ new QWebChannel(qt.webChannelTransport, } }); +var VHighlightedAnchorClass = 'highlighted-anchor'; + +var clearHighlightedAnchor = function() { + var headers = document.getElementsByClassName(VHighlightedAnchorClass); + while (headers.length > 0) { + headers[0].classList.remove(VHighlightedAnchorClass); + } +}; + +var highlightAnchor = function(anchor) { + clearHighlightedAnchor(); + anchor.classList.add(VHighlightedAnchorClass); +}; + var g_muteScroll = false; var scrollToAnchor = function(anchor) { @@ -65,6 +79,8 @@ var scrollToAnchor = function(anchor) { var anc = document.getElementById(anchor); if (anc != null) { anc.scrollIntoView(); + highlightAnchor(anc); + var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6"); for (var i = 0; i < headers.length; ++i) { if (headers[i] == anc) { @@ -784,6 +800,7 @@ var jumpTitle = function(forward, relativeLevel, repeat) { // Disable scroll temporarily. g_muteScroll = true; headers[targetIdx].scrollIntoView(); + highlightAnchor(headers[targetIdx]); currentHeaderIdx = targetIdx; content.setHeader(headers[targetIdx].getAttribute("id")); setTimeout("g_muteScroll = false", 100);