summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app.js4
-rw-r--r--ka.js19
2 files changed, 12 insertions, 11 deletions
diff --git a/app.js b/app.js
index 8dec438..aa1fcdc 100644
--- a/app.js
+++ b/app.js
@@ -97,8 +97,8 @@ const routes = {
p("The requested page is not available.")
),
};
-const onchange = () => {
- doc.querySelectorAll('nav a').forEach(x => x.$cls((location.href===x.href)?"active":""));
+const onchange = (h) => {
+ doc.querySelectorAll('nav a').forEach(x => x.$cls(x.attr("href")===h?"active":""));
loading(isLoading);
};
diff --git a/ka.js b/ka.js
index b7f9d6a..09257c7 100644
--- a/ka.js
+++ b/ka.js
@@ -50,14 +50,15 @@ var img = (src) => tag("img", {src});
var input = (type) => tag("input", {type});
function router(root, routes, onreload) {
- function reload() {
- const h = doc.location.hash.substr(1) || "/";
- const r = h in routes ? h : "";
- root.replaceChildren(routes[r]());
- onreload && onreload(r);
- };
- reload();
- window.addEventListener("hashchange", reload);
- root.reload = reload;
+ function reload() {
+ const h = doc.location.hash || "#";
+ const p = h.substr(1) || "/";
+ const r = p in routes ? p : "";
+ root.replaceChildren(routes[r]());
+ onreload && onreload(h);
+ };
+ reload();
+ window.addEventListener("hashchange", reload);
+ root.reload = reload;
}