Commit b363be87 authored by Robert Lord's avatar Robert Lord

Update language tabs to properly stay in section, and fix history navigation bug

parent 7dead4c3
......@@ -22,17 +22,25 @@ under the License.
function activateLanguage(language) {
if (!language) return;
var hash = window.location.hash;
if (hash) hash = hash.replace(/^#+/, '');
// do not reload the page every time the language is changed
if (history) history.pushState({}, '', '?' + language + '#' + hash);
$("#lang-selector a").removeClass('active');
$("#lang-selector a[data-language-name='" + language + "']").addClass('active');
for (var i=0; i < languages.length; i++) {
$(".highlight." + languages[i]).hide();
}
$(".highlight." + language).show();
// scroll to the new location of the position
$(window.location.hash).get(0).scrollIntoView(true);
}
// if a button is clicked, add the state to the history
function pushURL(language) {
if (!history) { return; }
var hash = window.location.hash;
if (hash) {
hash = hash.replace(/^#+/, '');
}
history.pushState({}, '', '?' + language + '#' + hash);
}
function setupLanguages(l) {
......@@ -60,6 +68,7 @@ under the License.
$(function() {
$("#lang-selector a").on("click", function() {
var language = $(this).data("language-name");
pushURL(language);
activateLanguage(language);
return false;
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment