1
0
Fork 0
mirror of https://github.com/treffynnon/sqlstyle.guide.git synced 2025-03-09 12:49:51 -05:00
sqlstyle.guide/static/scripts.js
2024-02-27 10:46:56 +10:00

33 lines
1 KiB
JavaScript

---
layout: nil
---
{% include static/anchor.min.js %}
anchors.add('h2,h3,h4,h5,h6');
document.addEventListener('DOMContentLoaded', () => {
/*
* translation jump menu
*/
document.getElementById('language-drop').addEventListener('change', e => {
var selected = e.target.selectedOptions[0].value + '/';
if (selected === 'en/') selected = '';
window.location.href = `{{ site.url }}/${selected.toLowerCase()}`;
});
/*
* ScrollTo code
*/
document.querySelectorAll('a[href^="#"]')
.forEach(x => x.addEventListener('click', e => {
var targetHash = e.target.hash.replace(/:/g, '\\$&'),
targetDecoded = decodeURI(targetHash),
targetId = targetDecoded.replace('#', ''),
target = document.getElementById(targetId || 'translation-bar');
if (target) {
e.preventDefault();
history.pushState({}, `${document.title} - ${target.innerText}`, e.target.href);
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
}));
});