diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-02 14:10:56 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-02 14:10:56 +0800 |
| commit | aa91acb5a17c67ed929a5dd5440195736745450d (patch) | |
| tree | 72c7323f3025513579d5dc05f0dfee29f3a3462e /src/js | |
| parent | 12cb115c9d74698129607a5907471a907e10d8aa (diff) | |
make navBar(header) presist active depending on which page user's on
Diffstat (limited to 'src/js')
| -rw-r--r-- | src/js/includeheader.js | 47 | ||||
| -rw-r--r-- | src/js/includehtml.js | 28 | ||||
| -rw-r--r-- | src/js/login.js | 4 | ||||
| -rw-r--r-- | src/js/register.js | 10 |
4 files changed, 47 insertions, 42 deletions
diff --git a/src/js/includeheader.js b/src/js/includeheader.js new file mode 100644 index 00000000..5ac7d067 --- /dev/null +++ b/src/js/includeheader.js @@ -0,0 +1,47 @@ +function includeHeader() { + var z, i, elmnt, file, xhttp; + // loop through a collection of all HTML elements + z = document.getElementsByTagName("*"); + for (i = 0; i < z.length; i++) { + elmnt = z[i]; + // search for elements with a certain attribute + file = elmnt.getAttribute("include-header"); + if (file) { + // make an HTTP request using the attribute value as the file name + xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function() { + if (this.readyState == 4) { + if (this.status == 200) { + elmnt.innerHTML = this.responseText; + setActiveLink(); // Set the active link after including the HTML + } + if (this.status == 404) { + elmnt.innerHTML = "Page not found."; + } + // remove the attribute and call this function once more + elmnt.removeAttribute("include-header"); + includeHeader(); + } + }; + xhttp.open("GET", file, true); + xhttp.send(); + // exit the function + return; + } + } +} + +// Set the active link based on the current page +function setActiveLink() { + var currentPath = window.location.pathname; + var navLinks = document.getElementsByClassName("navBar")[0].getElementsByTagName("a"); + for (var i = 0; i < navLinks.length; i++) { + var link = navLinks[i]; + var href = link.getAttribute("href"); + if (href === currentPath) { + link.classList.add("active"); + } else { + link.classList.remove("active"); + } + } +} diff --git a/src/js/includehtml.js b/src/js/includehtml.js deleted file mode 100644 index 7b00285f..00000000 --- a/src/js/includehtml.js +++ /dev/null @@ -1,28 +0,0 @@ -function includeHTML() { - var z, i, elmnt, file, xhttp; - /*loop through a collection of all HTML elements:*/ - z = document.getElementsByTagName("*"); - for (i = 0; i < z.length; i++) { - elmnt = z[i]; - /*search for elements with a certain atrribute:*/ - file = elmnt.getAttribute("include-html"); - if (file) { - /*make an HTTP request using the attribute value as the file name:*/ - xhttp = new XMLHttpRequest(); - xhttp.onreadystatechange = function() { - if (this.readyState == 4) { - if (this.status == 200) {elmnt.innerHTML = this.responseText;} - if (this.status == 404) {elmnt.innerHTML = "Page not found.";} - /*remove the attribute, and call this function once more:*/ - elmnt.removeAttribute("include-html"); - includeHTML(); - } - } - xhttp.open("GET", file, true); - xhttp.send(); - /*exit the function:*/ - return; - } - } -}; - diff --git a/src/js/login.js b/src/js/login.js deleted file mode 100644 index ce4c0803..00000000 --- a/src/js/login.js +++ /dev/null @@ -1,4 +0,0 @@ -function test() { - console.log(document.getElementById("username").value); - console.log(document.getElementById("password").value); -}
\ No newline at end of file diff --git a/src/js/register.js b/src/js/register.js deleted file mode 100644 index 11f85852..00000000 --- a/src/js/register.js +++ /dev/null @@ -1,10 +0,0 @@ -function createAccount() { - if (document.getElementById("password").value == document.getElementById("verify-password").value) { - let username = document.getElementById("username").value; - let password = document.getElementById("password").value; - console.log(username); - console.log(password); - } else { - console.log("password does not match"); - } -} |
