Peter 9bc996374f Add 'submodules/AsyncDisplayKit/' from commit '02bedc12816e251ad71777f9d2578329b6d2bef6'
git-subtree-dir: submodules/AsyncDisplayKit
git-subtree-mainline: d06f423e0ed3df1fed9bd10d79ee312a9179b632
git-subtree-split: 02bedc12816e251ad71777f9d2578329b6d2bef6
2019-06-11 18:42:43 +01:00

60 lines
1.5 KiB
JavaScript
Executable File

function $() {
return document.querySelector.apply(document, arguments);
}
if (navigator.userAgent.indexOf("Xcode") != -1) {
document.documentElement.classList.add("xcode");
}
var jumpTo = $("#jump-to");
if (jumpTo) {
jumpTo.addEventListener("change", function(e) {
location.hash = this.options[this.selectedIndex].value;
});
}
function hashChanged() {
if (/^#\/\/api\//.test(location.hash)) {
var element = document.querySelector("a[name='" + location.hash.substring(1) + "']");
if (!element) {
return;
}
element = element.parentNode;
element.classList.remove("hide");
fixScrollPosition(element);
}
}
function fixScrollPosition(element) {
var scrollTop = element.offsetTop - 150;
document.documentElement.scrollTop = scrollTop;
document.body.scrollTop = scrollTop;
}
[].forEach.call(document.querySelectorAll(".section-method"), function(element) {
element.classList.add("hide");
element.querySelector(".method-title a").addEventListener("click", function(e) {
var info = element.querySelector(".method-info"),
infoContainer = element.querySelector(".method-info-container");
element.classList.add("animating");
info.style.height = (infoContainer.clientHeight + 40) + "px";
fixScrollPosition(element);
element.classList.toggle("hide");
if (element.classList.contains("hide")) {
e.preventDefault();
}
setTimeout(function() {
element.classList.remove("animating");
}, 300);
});
});
window.addEventListener("hashchange", hashChanged);
hashChanged();