Commit 9831b9fc authored by Dominik V. Salonen's avatar Dominik V. Salonen

Update 'main.js'

parent 9f8d406c
// I suck at JS okay, don't judge. I know this is horrendous.
// Heavy copy/paste junk.
var button1 = document.getElementById('button1');
var button2 = document.getElementById('button2');
var button3 = document.getElementById('button3');
contsrc = "file:///H:/Side projects/Site/";
var payload1 = "Hellow";
//var payload2 = new Promise(function(resolve) {
// setTimeout(resolve(httpGet(contsrc + "pages/about.html")), 100, 'foo')});
var payload2 = "Ayy";
var payload3 = "lmao3";
function resetButtons() {
button1.className = "nav-button";
button2.className = "nav-button";
button3.className = "nav-button";
}
function httpGet(myUrl) {
var request = new XMLHttpRequest();
request.open('GET', myUrl, true);
request.send(null);
if (request.status == 200) {
return request.responseText;
}
}
function setContent(navbutt, payload) {
document.getElementById("page").innerHTML = payload;
resetButtons();
navbutt.className += " active";
}
button1.addEventListener('click', function() {
setContent(button1, payload1);
}, false);
button2.addEventListener('click', function() {
setContent(button2, payload2);
}, false);
button3.addEventListener('click', function() {
setContent(button3, payload3);
}, false);
function initialContent() {
setContent(button1, payload1);
// I suck at JS okay, don't judge. I know this is horrendous. Heavy copy/paste junk.
// Code is commented more than it needs to be because I'm still learning and the comments are basically post-it notes to help me remember.
// Ajax is entirely pointless for this site, but I did it to learn.
// Find all our buttons
const button1 = document.getElementById('button1');
const button2 = document.getElementById('button2');
const button3 = document.getElementById('button3');
// Make the base URL a variable because it's easier if I ever move the site
const baseUrl = "file:///H:/Side projects/Site/";
// Create variables that will get populated by loadContent() later
var payload1;
var payload2;
var payload3;
// Very bad function to get rid of the "active" class wherever it is atm
function resetButtons() {
button1.className = "nav-button";
button2.className = "nav-button";
button3.className = "nav-button";
}
// Fetch all the page contents
async function loadContent(baseUrl) {
const http1 = fetch(baseUrl + "pages/about.html");
const http2 = fetch(baseUrl + "pages/about.html");
const http3 = fetch(baseUrl + "pages/about.html");
const requests = [http1, http2, http3];
const responses = await Promise.all(requests);
for (let response of responses) {
console.log("Loaded data")
}
return responses
}
function setContent(navbutt, payload) {
document.getElementById("page").innerHTML = payload;
resetButtons();
navbutt.className += " active";
}
function initialContent() {
// Get the HTML we need
var contents = loadContent();
payload1 = contents[0];
payload2 = contents[1];
payload3 = contents[2];
// Slap on all the event listeners
button1.addEventListener('click', function() {
setContent(button1, payload1);
}, false);
button2.addEventListener('click', function() {
setContent(button2, payload2);
}, false);
button3.addEventListener('click', function() {
setContent(button3, payload3);
}, false);
// And finally enable the first tab
setContent(button1, payload1);
}
\ No newline at end of file
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