whatever i already made...
This commit is contained in:
parent
0d63115e2a
commit
b98306a05e
4 changed files with 294 additions and 0 deletions
134
another_page.html
Normal file
134
another_page.html
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>
|
||||||
|
Links are stupid
|
||||||
|
</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="default_style.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body onscroll="onBodyScroll()">
|
||||||
|
Oh good, the last page got really crowded,
|
||||||
|
ok, back to the nonsense!
|
||||||
|
<h1>
|
||||||
|
Links are stupid
|
||||||
|
</h1>
|
||||||
|
<h3>
|
||||||
|
"hErE's WhY"
|
||||||
|
</h3>
|
||||||
|
<p>
|
||||||
|
So, if you want a hyper link in your site,
|
||||||
|
you need to use the <a> tag, but you have a <link>
|
||||||
|
tag, which links to another file(to import it, which indeed is useful),
|
||||||
|
but like, it could have a more "correct" name, and if you want to get a hyper link
|
||||||
|
you need to use the <a> tag.
|
||||||
|
<br>
|
||||||
|
And, I'm not saying you need to remove/replace the link, but like,
|
||||||
|
instead of <a> do something like <hyper>
|
||||||
|
or <hyperlink> or even <hlink>
|
||||||
|
(the last one might be confusing since it looks a lot like link,
|
||||||
|
but it is still better than fucking <a>)
|
||||||
|
</p>
|
||||||
|
<div style="width:60%; background-color: rgb(112, 26, 26); color:rgb(133, 255, 255); margin:auto;">
|
||||||
|
<p>
|
||||||
|
Boy this page looks blend only with text,
|
||||||
|
and KDE keeps crashing on my laptop...
|
||||||
|
<br>
|
||||||
|
(in case you were wondering this div is "width:60%; margin:auto"
|
||||||
|
with some color values)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
Any cool stuff I can try to make? Maybe an animated image
|
||||||
|
which flies in when you scroll down enough?
|
||||||
|
<br>
|
||||||
|
Sounds kinda stupid, and I hate it when websites makes scrolling
|
||||||
|
"digital"(by digital I mean it has discrete states, which I know everything
|
||||||
|
in computers are in discrete states since you cannot have the infinity in
|
||||||
|
a computer because reasons, but like, you get the point, its like having
|
||||||
|
a couple of stupid sites stitched on top of each other, which just sucks)
|
||||||
|
<br>
|
||||||
|
I will try it tho
|
||||||
|
</p>
|
||||||
|
<div style="margin:auto;height: 350px;">
|
||||||
|
<img src="cat_1.jpg" width="350px" height="350px" style="float:left;">
|
||||||
|
<img id="animatedImage" src="cat_1.jpg" width="350px" height="350px" style="float:right; visibility: hidden;">
|
||||||
|
<div style="width: 50%; margin:auto;">
|
||||||
|
<p>
|
||||||
|
Please enjoy this cute cat while I figure how to get the scroll data...
|
||||||
|
</p>
|
||||||
|
<div id="cat_par2" style="visibility: hidden;">
|
||||||
|
<p>
|
||||||
|
Taadaaa!
|
||||||
|
<br>
|
||||||
|
That wasn't hard enough.
|
||||||
|
<br>
|
||||||
|
But things to note here, both cats are using `style="float:right;"`
|
||||||
|
(with the sliding one also being invisible until the animation appears)
|
||||||
|
and the animation used is with the `animate` method(and a lot of trial and error)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p>
|
||||||
|
Anyway, some questions arise while im doing this, like
|
||||||
|
<br><br>
|
||||||
|
<b>Should websites be interactive at all?</b>
|
||||||
|
<br><br>
|
||||||
|
Of course they should, it's more fun that way!
|
||||||
|
<br><br>
|
||||||
|
<b>But just how much interactivity should we have...</b>
|
||||||
|
<br><br>
|
||||||
|
Forms and Such? Must(for needed websites)
|
||||||
|
<br>
|
||||||
|
Animations? Sure, it's fun, but dont push it.
|
||||||
|
<br>
|
||||||
|
Games? If you embed a game in your browser that is actually cool,
|
||||||
|
tho you prob shouldn't do it with javascript, or at least javascript shouldn't
|
||||||
|
support it, if we had solutions like the old ass flash player.
|
||||||
|
<br><br>
|
||||||
|
<i>"bUt FlAsH pLaYeR SuX(tm)"</i>
|
||||||
|
<br><br>
|
||||||
|
I said <b>like</b>...
|
||||||
|
And something is approaching, called wasm, or web assmbly.
|
||||||
|
<br>
|
||||||
|
But that brings another question to mind
|
||||||
|
<br><br>
|
||||||
|
<b>How far should we push our browsers?</b>
|
||||||
|
<br><br>
|
||||||
|
Because Like,
|
||||||
|
with html(and css) only, you are getting something that is ONLY drawing instrctions(and animations?),
|
||||||
|
but it is all visuals(or should be), instructions on how to paint,
|
||||||
|
so if i decide to make a css-less browser(like <a href="https://metamuffin.org">metamuffin</a> did),
|
||||||
|
then everything should still work(but look like shit), which is awesome.
|
||||||
|
<br>
|
||||||
|
If i dont "trust" CSS i can just disable it.
|
||||||
|
<br>
|
||||||
|
But with JavaScript, it is a fully blown scripting language(a shitty one but still),
|
||||||
|
people made countless things with js, from fully featured web games, to a bloody backend system(why?).
|
||||||
|
<br>
|
||||||
|
Also JavaScript is a script running locally, so if the browser did a bad job sandboxing it from the system,
|
||||||
|
some bad things may happen
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
var needToAnimateImage = true;
|
||||||
|
function onBodyScroll() {
|
||||||
|
let scrollPercent = document.body.scrollTop / document.body.scrollTopMax;
|
||||||
|
if (needToAnimateImage && scrollPercent > 0.99) {
|
||||||
|
needToAnimateImage = false;
|
||||||
|
let img = document.getElementById("animatedImage");
|
||||||
|
img.style.visibility = "inherit";
|
||||||
|
img.animate([
|
||||||
|
{ transform: "translateX(400px)" },
|
||||||
|
{ transform: "translateX(0px)"},
|
||||||
|
], {
|
||||||
|
duration: 2000,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
setInterval(function() { document.getElementById("cat_par2").style.visibility = "inherit"; }, 2000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
BIN
cat_1.jpg
Normal file
BIN
cat_1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
5
default_style.css
Normal file
5
default_style.css
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
body {
|
||||||
|
background-color: #01011f;
|
||||||
|
color: rgb(255, 150, 150);
|
||||||
|
text-align: center;
|
||||||
|
}
|
155
index.html
Normal file
155
index.html
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<!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>
|
||||||
|
<header>
|
||||||
|
💀 💀 This is my <header> 💀 💀
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<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>
|
||||||
|
</p>
|
||||||
|
I PRESENT TO YOU: 🥁🥁🥁
|
||||||
|
</h1>
|
||||||
|
<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>
|
Loading…
Reference in a new issue