about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2017-11-06 21:14:37 +0100
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2017-11-06 23:49:47 +0100
commitacd5e8cd4e6aedaeb2718ee8b6c445b7ff4c5f60 (patch)
tree972c2e29f68231cbdce58c225731f38e525be806 /src
parent58557fafae060c500394d5df13cd0cf68170903e (diff)
downloadrust-acd5e8cd4e6aedaeb2718ee8b6c445b7ff4c5f60.tar.gz
rust-acd5e8cd4e6aedaeb2718ee8b6c445b7ff4c5f60.zip
Fix navbar click while in a search
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/html/static/main.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index b1120e0af38..2abc8f7eb6a 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -122,6 +122,7 @@
     }
 
     function highlightSourceLines(ev) {
+        var search = document.getElementById("search");
         var i, from, to, match = window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);
         if (match) {
             from = parseInt(match[1], 10);
@@ -145,6 +146,14 @@
             for (i = from; i <= to; ++i) {
                 addClass(document.getElementById(i), 'line-highlighted');
             }
+        } else if (ev !== null && search && !hasClass(search, "hidden") && ev.newURL) {
+            addClass(search, "hidden");
+            removeClass(document.getElementById("main"), "hidden");
+            var hash = ev.newURL.slice(ev.newURL.indexOf('#') + 1);
+            var elem = document.getElementById(hash);
+            if (elem) {
+                elem.scrollIntoView();
+            }
         }
     }
     highlightSourceLines(null);