2022-03-25 11:08:07 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>Rusty's Awesome Test Site</title>
|
|
|
|
|
|
|
|
<!-- Style -->
|
|
|
|
<link rel="stylesheet" type="text/css" href="default_style.css" media="all">
|
|
|
|
</head>
|
|
|
|
<body>
|
2022-03-26 12:25:39 +00:00
|
|
|
<header>
|
|
|
|
💀 💀 This is my <header> 💀 💀
|
|
|
|
</header>
|
2022-03-25 11:08:07 +00:00
|
|
|
<h1 style="color: crimson;">
|
|
|
|
Rusty's Awesome Test Site
|
|
|
|
</h1>
|
|
|
|
<p>
|
|
|
|
Welcome to my awesome test site,
|
|
|
|
I will Attempt to learn html using it,
|
|
|
|
and you can view my progress here(i guess)...
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Why am i doing this for myself?
|
|
|
|
Because it is about time I learn to make websites
|
|
|
|
(and i want to really know how bad js is and if ts is actually any good)
|
|
|
|
</p>
|
|
|
|
<p style="background-color: whitesmoke; color: black; text-align: left;">
|
|
|
|
Imma do a lot of dumb shit here, like not centering this text.
|
|
|
|
<br>
|
|
|
|
And also giving it different colors
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
But enough with the games!
|
|
|
|
<h1>
|
2022-03-26 12:25:39 +00:00
|
|
|
I PRESENT TO YOU: 🥁🥁🥁
|
|
|
|
</h1>
|
2022-03-25 11:08:07 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
A button
|
|
|
|
</p>
|
|
|
|
<button onclick="onCoolButtonClick()">This is a cool button, click me</button>
|
|
|
|
<div id="appearing-div" style="visibility: hidden;">
|
|
|
|
<p>
|
|
|
|
As you can see, clicking that button changes the background.
|
|
|
|
<br>
|
|
|
|
But something to note here, while you set colors usually using "#012345"
|
|
|
|
when you retrieve those colors using js, it gives you a string
|
|
|
|
like "rgb(1, 35, 69)" instead, which i find dumb and annoying...
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Also, i made this part appear only after you clicked the button,
|
|
|
|
because i can!
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Another thing to note here, is that even tho some stuff
|
|
|
|
might have 2 options(technically) and could be used as a bool,
|
|
|
|
since CSS and everything, you have multiple values for them,
|
|
|
|
so instead of doing "visibility = true" you do "visibility = inherit"
|
|
|
|
<br>
|
|
|
|
(i use inherit because you might never know if the parent is visible
|
|
|
|
or not and we are trying to not cause weird bugs on our first day)
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div id="rangeDiv">
|
|
|
|
<p>
|
|
|
|
Now imma make a slider, which may or may not do something extre
|
|
|
|
<br>
|
|
|
|
Only one way to find out!
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<input type="range" min="0" max="100" value="100" id="alphaSlider" oninput="onSliderInput()">
|
|
|
|
<div id="animated">
|
|
|
|
<p>
|
|
|
|
And now, I will attempt to animate this div
|
|
|
|
</p>
|
|
|
|
<button onclick="animateDiv()">Start the show please</button>
|
|
|
|
</div>
|
|
|
|
<div id="keyframeAnimated">
|
|
|
|
<p>
|
|
|
|
The last animation was made using the `setInterval` and `clearInterval`
|
|
|
|
built in function,
|
|
|
|
but this one will use the `animate` built in function
|
|
|
|
(I really hope it works well)
|
|
|
|
</p>
|
|
|
|
<button onclick="animateDivAgain()">I hope this is better</button>
|
|
|
|
</div>
|
|
|
|
<p>
|
|
|
|
This is indeed MUCH MUCH better. BUT, it is experimental
|
|
|
|
and not supported on everything or something
|
|
|
|
(like Safari, and also IE but that is deprecated).
|
|
|
|
<br>
|
|
|
|
Basically you can set keyframes, and pass some more stuff,
|
|
|
|
but most noteable you dont need to store the id of the interval
|
|
|
|
anywhere and you can simply fire and forget
|
|
|
|
(but just in case you can give it an id which is great)
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
This page is getting crowded so imma attemp at creating an hyper link
|
|
|
|
to another page on the site
|
|
|
|
<br>
|
|
|
|
<a href="another_page.html">I am really not sure how it works</a>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
<script>
|
|
|
|
function onCoolButtonClick() {
|
|
|
|
let bg = document.body.style.getPropertyValue("background-color");
|
|
|
|
if (bg == "rgb(31, 1, 15)") {
|
|
|
|
document.body.style.setProperty("background-color", "rgb(1, 2, 47)");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
document.body.style.setProperty("background-color", "rgb(31, 1, 15)");
|
|
|
|
}
|
|
|
|
if (document.getElementById("appearing-div").style.visibility == "hidden") {
|
|
|
|
document.getElementById("appearing-div").style.visibility = "inherit";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function onSliderInput() {
|
|
|
|
let slider = document.getElementById("alphaSlider");
|
|
|
|
let div = document.getElementById("rangeDiv");
|
|
|
|
let value = Number(slider.value) / 100;
|
|
|
|
console.log(value);
|
|
|
|
div.style.color = "rgba(255, 150, 150, " + value + ")";
|
|
|
|
}
|
|
|
|
var divAnimationId = null;
|
|
|
|
function animateDiv() {
|
|
|
|
clearInterval(divAnimationId);
|
|
|
|
let div = document.getElementById("animated");
|
|
|
|
let dir = -0.1;
|
|
|
|
let curr = 0.99;
|
|
|
|
let frame = function() {
|
|
|
|
if(curr <= 0.0) {
|
|
|
|
dir = 0.1;
|
|
|
|
}
|
|
|
|
if (curr >= 1.0) {
|
|
|
|
clearInterval(divAnimationId);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
curr += dir;
|
|
|
|
div.style.color = "rgba(255, 150, 150, " + curr + ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
divAnimationId = setInterval(frame, 25);
|
|
|
|
}
|
|
|
|
function animateDivAgain() {
|
|
|
|
let div = document.getElementById("keyframeAnimated");
|
|
|
|
div.animate([
|
|
|
|
{ color: "rgba(255,150,150, 1.0"},
|
|
|
|
{ color: "rgba(255,150,150, 0.0"},
|
|
|
|
{ color: "rgba(255,150,150, 1.0"},
|
|
|
|
],
|
|
|
|
{ duration: 500, iterations: 2 }
|
|
|
|
)
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</html>
|