diff --git a/css/functions.css b/css/functions.css new file mode 100644 index 00000000..eea97e80 --- /dev/null +++ b/css/functions.css @@ -0,0 +1,60 @@ +.flexiMain { + display: flex; + height: 100vh; + align-items: center; + justify-content: space-evenly; +} + +.funSideBar { + background: green; + color: whitesmoke; + height: fit-content; +} + +.exampleSide { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + text-align: center; +} + +.con { + display: flex; + max-width: 50vh; + justify-content: center; + flex-direction: column; + background: yellow; +} +.boSlider { + display: flex; + flex-direction: column; +} + +.textBox { + display: flex; + text-align: center; + margin: auto; + width: 20vh; + flex-direction: column; +} + +.topSlider p { + display: flex; + flex-direction: column; + align-items: center; +} + +.topSlider p button { + width: 60%; + text-align: center; +} + +.trial { + background: red; +} + +.trial2 { + color: white; + background: rgba(41, 184, 241, 0.822); +} diff --git a/css/home.css b/css/home.css new file mode 100644 index 00000000..6fdf1007 --- /dev/null +++ b/css/home.css @@ -0,0 +1,33 @@ +body { + background: rgba(0, 0, 0, 0.781); +} + +.homeCon { + display: flex; + align-items: center; + justify-content: space-between; + align-self: center; + width: 50%; + margin-left: auto; + margin-right: auto; + height: 100vh; +} + +.f1 { + background: green; + padding: 10%; + margin-right: 2%; +} + +.f2 { + background: red; + padding: 10%; + margin-left: 2%; + margin-right: 2%; +} + +.f3 { + background: yellow; + padding: 10%; + margin-left: 2%; +} diff --git a/css/selectors.css b/css/selectors.css new file mode 100644 index 00000000..d1146a0f --- /dev/null +++ b/css/selectors.css @@ -0,0 +1,26 @@ +.flexiMain { + display: flex; + height: 100vh; + align-items: center; + justify-content: space-evenly; +} + +.funSideBar2 { + background: rgba(226, 65, 65, 0.753); + color: whitesmoke; + height: fit-content; +} + +p.ninjas { + display: none; +} + +p.magicians { + display: none; +} + +.funSideBar3 { + background: rgba(255, 255, 0, 0.575); + color: black; + height: fit-content; +} diff --git a/images/coding.jpg b/images/coding.jpg new file mode 100644 index 00000000..e963a71e Binary files /dev/null and b/images/coding.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..b49283e0 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + + Js & Jquery Cheat sheet + + + + + + + + + + + + + + diff --git a/js/JQuery.js b/js/JQuery.js new file mode 100644 index 00000000..b3b6ed86 --- /dev/null +++ b/js/JQuery.js @@ -0,0 +1,265 @@ +function queryRemove(btn2, parBo) { + $(btn2).remove(); +} + +function queryAdd(btn2, parBo) { + $(parBo).append("

EXISTANCE IS PAIN

"); +} + +function queryAppend(btn2, parBo, test) { + $(parBo).append(test); +} + +function queryPrepend(btn2, parBo) { + $(parBo).prepend("

I´m a timelord!

"); +} + +function queryCreateAdd(btn2, parBo) { + $(parBo).append("

So I have become death, destroyer of worlds

"); +} + +function queryCreateAddBefore(btn2, parBo) { + $(parBo).prepend("

BANG!

"); +} + +function queryClone(btn2, parBo) { + $(btn2).clone().appendTo(parBo); +} + +function addClassQuery(btn2, parBo) { + $(btn2).addClass("trial"); +} + +function testName(btn2, parBo) { + $(btn2).removeClass("trial2"); + console.log("logged"); +} + +function toogleClassQuery(btn2, parBo) { + $(btn2).toggleClass("trial2"); +} + +function disabledQuery(btn2, parBo) { + $(btn2).attr("disabled", "true"); +} + +function fixDisabledQuery(btn2, parBo) { + $("#dummy2").prop("disabled", false); +} + +function JqueryHide(btn2, parBo) { + $(".dark").hide(); +} + +function JqueryShow(btn2, parBo, z) { + $(z).show(); +} + +function fadeInFun(btn2, parBo, x) { + $(x).fadeIn(); +} + +function fadeOutFun(btn2, parBo, x) { + $(x).fadeOut("slow"); +} + +function chaosShouldPrevail(btn2, parBo) { + $("p").css("background", "blue"); +} + +function fatherElementQuery(btn2, parBo) { + $(btn2).parent().css("color", "green"); +} + +function redPaintedKids(btn2, parBo) { + $(parBo).children().css("color", "red"); +} + +function allPToYellow(btn2, parBo) { + $("p").each(function () { + $(this).css("background", "white"); + }); +} + +function shootPaintBallOrange(btn2, parBo) { + $("#street").css("color", "orange"); +} +function magicCarpetRide(btn2, parBo) { + $(".magicians").css({ + display: "block", + color: "red", + }); +} +function chooseFruits(btn2, parBo) { + let x = document.createElement("p"); + $(x).text($("#fruit option:selected").text()); + $(parBo).append(x); +} + +function tiredOfJokes(btn2, parBo) { + let h = $("a").prop( + "href", + "https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley" + ); +} + +function passTheValue(parBo) { + alert($("input").val()); +} + +function destroyThePage(btn2, parBo) { + $(body).empty(); +} + +function letsDance(btn2, parBo) { + console.log($("#carmen")); + $("#carmen") + .delay(2000) + .animate( + { + width: "500px", + }, + 2000 + ) + .fadeOut(4000); +} + +function checkIfReady(btn2, parBo) { + if ($(document).ready()) { + $(parBo).append("

Yup, I loaded

"); + } +} + +function queryButtonCreate(btn2, parBo) { + $(parBo).append( + "" + ); + $(".clicky").on({ + click: function () { + $(parBo).append("

Thank you for my life

"); + }, + }); +} + +function queryButtonCreate2(btn2, parBo) { + $(parBo).append("" + ); + $(".elemental").on({ + submit: function () { + event.preventDefault(); + $(parBo).css("color", "green"); + }, + }); +} + +function selectChanges(btn2, parBo) { + $(parBo).append( + " " + ); + $(".checkings2").on({ + click: function () { + $(".car2").on({ + change: function () { + if ($(this).prop("checked") === true) { + $(parBo).css("color", "blue"); + } else { + $(parBo).css("color", "black"); + } + }, + }); + }, + }); +} + +function itIsFinallyOver(btn2, parBo) { + $(parBo).append( + "" + ); + $("li:nth-child(2)").on({ + click: function () { + $(this).css("color", "blue"); + }, + }); +} diff --git a/js/events.js b/js/events.js new file mode 100644 index 00000000..827c3fa4 --- /dev/null +++ b/js/events.js @@ -0,0 +1,1305 @@ +function createEvents() { + let listArray = [ + "HTML document has been loaded", + "Clicked", + "Double clicked", + "Presses a key", + "Moves the mouse cursor", + "When the user changes a value of an text input", + "When an image is loaded", + "When an image fails to load", + "When a form is submitted", + "When the user changes the option of a select element", + "When you position the mouse over an element", + "When a checkbox is checked or unchecked", + "When a ul list item is clicked, show the item that was clicked", + ]; + + let main = document.createElement("div"); + $(main).addClass("flexiMain"); + body.append(main); + + let list = document.createElement("aside"); + $(list).addClass("funSideBar3"); + $(main).append(list); + + let exampleSide = document.createElement("div"); + $(exampleSide).addClass("exampleSide"); + $(main).append(exampleSide); + + /// just to mark test code + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text("Click an element from the left side list to see examples"); + $(container).append(toH3); + + //for EACH + + listArray.forEach((element) => { + let z = document.createElement("p"); + $(z).text(element); + $(list).append(z); + let r = $(z).text(); + + $(z).on({ + click: function (params) { + displayExampEvents(r); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + }); +} + +function displayExampEvents(r) { + if (r === "HTML document has been loaded") { + createCheckIfLoaded(r); + } + if (r === "Clicked") { + checkIfClicked(r); + } + if (r === "Double clicked") { + doubleClickListener(r); + } + if (r === "Presses a key") { + keyDownCheck(r); + } + if (r === "Moves the mouse cursor") { + createMouseMove(r); + } + if (r === "When the user changes a value of an text input") { + createThemTextInputs(r); + } + if (r === "When an image is loaded") { + imageLoadEvent(r); + } + if (r === "When an image fails to load") { + badImage(r); + } + if (r === "When a form is submitted") { + formSubmited(r); + } + if (r === "When the user changes the option of a select element") { + changingOptions(r); + } + if (r === "When you position the mouse over an element") { + mouseCreateOver(r); + } + if (r === "When a checkbox is checked or unchecked") { + checkTheChecker(r); + } + if (r === "When a ul list item is clicked, show the item that was clicked") { + checkUlItemClick(r); + } +} + +// Check if loaded + +function createCheckIfLoaded(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Here after clicking the button we will check if the document is loaded. If it is, an element will show up saying "Yup, wasn´t it obvious?". However the to do an event listener for this is simply windows.onload()` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Thrust but verify"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + loadCheck(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`here we just use ($(document).ready()`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I bet it loaded"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + checkIfReady(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//click + +function checkIfClicked(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`Okay, this button will create another button with the actual fuction... + x.addEventListener("click", (e)=>{ + let k = document.createElement("p") + k.innerText = "I´m alive" + par.appendChild(k) + }) `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Button loop!"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + createButton(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Same as with vanilla, the button will create the button that executes the code: $(".clicky").on({ + click: function(){ + $(parBo).append("

Thank you for my life

") + } ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I bet it loaded"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryButtonCreate(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Double clicked + +function doubleClickListener(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`Same drill as before, here is the code: x.addEventListener("dblclick", (e)=> { + x.style.background = "blue" + }) `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Only click me once"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + doubleClickChekerVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`try it`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Only click me once, next one twice."); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryButtonCreate2(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Presses a key + +function keyDownCheck(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`Clicking the button below will create the event listener: document.addEventListener("keydown", (e)=>{ + btn1.style.color = "blue";`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Click to active listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + keyDownEvents(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here goes the event code: cument).on({ + keydown: function (){ + $(parBo).css("color", "red") + } + }` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + eventD(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Mouse Move + +function createMouseMove(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`Here is the event for that: document.addEventListener("mousemove", (e)=>{ + btn1.style.color = "green" + })`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + mouseMoveEvents(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here goes the event code: $(document).on({ + mousemove: function(){ + $(btn2).css("position", "absolute") + } + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + eventM(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// When the user changes a value of an text input + +function createThemTextInputs(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`The code for this is as follows: x.addEventListener("change", (e)=>{ + let pp = document.createElement("p") + pp.innerText = x.value + par.appendChild(pp) + }) `); + $(par).css("display", "none"); + $(topSlider).append(par); + $(par).append( + "
" + ); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + createValueCopy(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `The following code shows how the event listener can be used and written: $("#copy").on({ + change: function(){ + let k = document.createElement("p") + $(k).text($("#copy").val()) + $(btn2).append(k) + } + })` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + eventZ(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//When an image is loaded + +function imageLoadEvent(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`This is the code we use to do an action when an image or some other element is loaded: x.addEventListener("load", (e)=> { + par.style.color = "blue" + })`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + loadThatImage(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As usual it requires less code with jquery to do the same: $(".loadBurning").load( function(){ + $(parBo).css("color", "red") + })` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + imageM(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//When an image fails to load + +function badImage(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(` The following even lsitener is used when an element fails to load: x.addEventListener("error", (e)=> { + btn1.style.background ="blue" + }) `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + erroImage(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `The error method is used when an element fails to load, for example: $(".ppp").on({ + error: function(){ + $(parBo).css("background", "blue") + } + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + loadDidntWork(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// When a form is submitted +function formSubmited(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`The following function was written for the submit event:document.getElementById("elementals").addEventListener("submit", (e)=>{ + event.preventDefault() + par.style.color = "blue" +})`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + $(btn1).on({ + click: function () { + createThemForms(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `We have used this event listener before on during this project: $(".elemental").on({ + submit: function(){ + event.preventDefault() + $(par).css("color", "green") + } + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + formCreations(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} +// When the user changes the option of a select element +function changingOptions(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`This is the evend listener for a change in selection: k.addEventListener("change", (e)=> { + let x = document.createElement("p") + x.innerText = k.value + par.appendChild(x) + })`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + changeInputType(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `The code is the same: $(".car").on({ + change: function(){ + let x = document.createElement("p") + $(x).text($(".car").val()) + $(parBo).append(x) + } + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + selectChanges(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// When you position the mouse over an element + +function mouseCreateOver(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text(`Easy : par.addEventListener("mouseover", (e)=>{ + par.style.color = "red" + })`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + absolutism(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here we need the mouse enter which archives the same effect. Can be combined with mouseleave: ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + absolutist(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// When a checkbox is checked or unchecked + +function checkTheChecker(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`For this we need a combination of event listeners: ocument.getElementById("checkings").addEventListener("click", (e)=>{ + if(document.getElementById("car1").checked){ + par.style.background = "pink" + } + else { + par.style.background = "yellow" + }`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + whoChecksThechekers(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here clicking the check button will run the actual code: $(".checkings2").on({ + click: function(){ + $(".car2").on({ + change: function(){ + if( $(this).prop("checked") === true){ + $(parBo).css("color", "blue") + } + else { + $(parBo).css("color", "black") + } + } + + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + lastChecks(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//When a ul list item is clicked, show the item that was clicked + +function checkUlItemClick(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`This one has a little complicated code: l.addEventListener("click", (e)=>{ + if (m === "Element1"){ + let w = document.createElement("p") + w.innerText = m + par.appendChild(w) + + } + if (m === "Element2"){ + let w = document.createElement("p") + w.innerText = m + par.appendChild(w) + + } + if (m === "Element3"){ + let w = document.createElement("p") + w.innerText = m + par.appendChild(w) + + } + }) + }); + + `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Activate listener"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + letsGetToWork(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + ` Here we select the second child of tis list. $( "li:nth-child(2)" ).on({ + click: function(){ + $(this).css("color", "blue") + } + }) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Code executes after this"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + itIsFinallyOver(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} diff --git a/js/script.js b/js/script.js new file mode 100644 index 00000000..39d5ceb3 --- /dev/null +++ b/js/script.js @@ -0,0 +1,1869 @@ +const body = $("body"); + +window.onload = load(); + +function load(params) { + createHome(); +} + +//Homepage + +function createHome(params) { + let main = document.createElement("main"); + $(main).addClass("homeCon"); + body.append(main); + + //create elementes to go inside the main + let flex1 = document.createElement("div"); + $(flex1).addClass("f1"); + let flex2 = document.createElement("div"); + $(flex2).addClass("f2"); + let flex3 = document.createElement("div"); + $(flex3).addClass("f3"); + + $(main).append(flex1, flex2, flex3); + + //create the h2 elements for each flex + + let fun = document.createElement("h2"); + $(fun).text("Functions"); + $(flex1).append(fun); + + let selectors = document.createElement("h2"); + $(selectors).text("Selectors"); + $(flex2).append(selectors); + + let events = document.createElement("h2"); + $(events).text("Events"); + $(flex3).append(events); + + clickDetect(flex1, flex2, flex3, main); +} + +function clickDetect(flex1, flex2, flex3, main) { + $(flex1).on({ + click: function (params) { + createFunctions(); + $(main).remove(); + }, + + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(flex2).on({ + click: function (params) { + createSelectors(); + $(main).remove(); + }, + + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(flex3).on({ + click: function (params) { + console.log("click"); + createEvents(); + $(main).remove(); + }, + + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); +} + +//Home page is done, starts with function list + +function createFunctions() { + let listArray = [ + "Create", + "Remove", + "Append", + "Prepend", + "Create and add:after", + "Create and add:before", + "Clone", + "Add a class", + "Remove a class", + "Toggle a class", + "Add a disabled attribute", + "Remove the disabled attribute", + "Set a data-src attribute", + "Remove the data-src attribute", + "Hide", + "Show", + "Fade in", + "Fade out", + "Iterate a collection of elements", + ]; + + let main = document.createElement("div"); + $(main).addClass("flexiMain"); + body.append(main); + + let list = document.createElement("aside"); + $(list).addClass("funSideBar"); + $(main).append(list); + + let exampleSide = document.createElement("div"); + $(exampleSide).addClass("exampleSide"); + $(main).append(exampleSide); + + /// just to mark test code + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text("Click an element from the left side list to see examples"); + $(container).append(toH3); + + //for EACH + + listArray.forEach((element) => { + let z = document.createElement("p"); + $(z).text(element); + $(list).append(z); + let r = $(z).text(); + + $(z).on({ + click: function (params) { + displayExample(r); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + }); +} + +//verifies the innerText of the element and if match calls function to create that example +function displayExample(r) { + if (r === "Create") { + createCreate(r); + } + + if (r === "Remove") { + createRemove(r); + } + + if (r === "Append") { + createAppend(r); + } + if (r === "Prepend") { + createPrepend(r); + } + if (r === "Create and add:after") { + afterAdd(r); + } + if (r === "Create and add:before") { + createAddBefore(r); + } + if (r === "Clone") { + createClone(r); + } + if (r === "Add a class") { + createBeClassy(r); + } + if (r === "Remove a class") { + createRemoveClass(r); + } + if (r === "Toggle a class") { + createClassToggle(r); + } + if (r === "Add a disabled attribute") { + createAddDisabled(r); + } + if (r === "Remove the disabled attribute") { + createRemoveDisabled(r); + } + if (r === "Set a data-src attribute") { + createSetDataSrc(r); + } + if (r === "Remove the data-src attribute") { + createRemoveDataSrc(r); + } + if (r === "Hide") { + createHideExample(r); + } + if (r === "Show") { + createShowElement(r); + } + if (r === "Fade in") { + createFades(r); + } + if (r === "Fade out") { + createFadeThisOut(r); + } + if (r === "Iterate a collection of elements") { + createIterateEl(r); + } +} + +//create +function createCreate(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Creating an element in vanilla Js is super simple, you just need to type the following code: let r = document.createElement("p")` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I got the power to create life"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + createVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Jquery offers a super easy way to add an element. Just append the html elements directly for example: $(parBo).append("

EXISTANCE IS PAIN

")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I need to fulfill my purpose"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryAdd(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//remove +function createRemove(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`This a code example of how to remove an element using Js vanilla: let x = document.getElementById("vanilla") + + x.removeChild(btn1)`); + $(par).attr("id", "vanilla"); + $(par).css("display", "none"); + $(par).addClass("textBox"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I´m an ugly button"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + removeMe(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Jquery"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `In order to remove an element in Jquery it is as easy as calling the element and using the "remove()" method. For example: $(x).remove() ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I´m an ugly button"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryRemove(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Create Append + +function createAppend(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Now that we have our element created we have to append it as a child for something else to see it, yes, more steps: par.appendChild(z)` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("If I give it a child, is it SFW?"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + appendVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `We don´t need to create the entire element here. We can also just pass a previously created element, for ex: $(btn2).append(test)` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("What is my purpose?"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + let test = document.createElement("p"); + $(test).text("I pass butter"); + queryAppend(btn2, parBo, test); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//createPreppend + +function createPrepend(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `As usual first we need to create the element that we are gonna use in a different line of code and then we preppend it before another child element of that node like this: par.insertBefore(x, btn1)` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("No unfunny joke now"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + prependVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As usual, it is a little easier to do this with Jquery, you can as before create the element, give it text and add it all in the same line like this: par.insertBefore(x, btn1) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Did I forget something?"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + let test = document.createElement("p"); + $(test).text("I pass butter"); + queryPrepend(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//createAfterAdd +function afterAdd(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `This all now can be done in a single line too, for example = par.appendChild(document.createElement("p")).innerText = "Father, I´m alive!"` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I got the power to create life"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + createAddVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `jQuery is just as simple, or even more. It is enough to just use the append function and create the element inside: $(parBo).append("

So I have created death, destroyer of worlds

") ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I am J. Robert Oppenheimer"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryCreateAdd(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Creates before Add part + +function createAddBefore(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Same as before, we can write it like this: par.insertBefore(document.createElement("p"), btn1).innerText = "Ninja Attack!"` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("What happens if I click here?"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + createAddbeforeVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Same here, we can easily add all in a single line even shorter than in Js, like this: $(parBo).prepend("

BANG!p>")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("You feeling lucky, punk?"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryCreateAddBefore(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Create Clone + +function createClone(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`In order to clone in vanilla Js we need to select the previous element, clonate it then append it as a new child: let cl = btn1.cloneNode(true) + par.appendChild(cl) `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I serve the republic"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + clonate(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Cloning here is as usual, easier: $(btn2).clone().appendTo(parBo)` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Long live the Empire!"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryClone(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//add Class + +function createBeClassy(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `There are different ways to do this in Js, but the one I use the most is this: ` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Pls don´t click me"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + $(btn1).text("OMG I´M BLEADING"); + addClassVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here we can do it in a similar way: $(btn2).addClass("trial") ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I´m not in a funny mood"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + addClassQuery(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Remove class + +function createRemoveClass(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text(`Here we just do as follows: btn1.classList.remove("trial2")`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Pls don´t, I don´t wanna be trashy"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + $(btn1).addClass("trial2"); + + $(btn1).on({ + click: function () { + removeClassVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here we just remove the class like this: $(btn2).removeClass("trial2")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Fine, do it. I dare you."); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(btn2).addClass("trial2"); + + $(btn2).on({ + click: function () { + testName(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Toggle a class + +function createClassToggle(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `For this we also use the classList: btn1.classList.toggle("trial2") ` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("What should I wear now?"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + vanillaClassToogle(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`And it is just as usual here: $(btn2).toggleClass("trial2")`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Switch the lights on"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + toogleClassQuery(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Add a disabled attribute + +function createAddDisabled(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Let´s see how to change this: btn1.setAttribute("disabled", "true") ` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I should not make the joke I´m thinking about."); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + disabledVanilla(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `We can use the attr method to do this: $(btn2).attr("disabled", "true")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Pls, no, don´t break my legs"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + disabledQuery(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Remove the disabled attribute + +function createRemoveDisabled(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `For this we have to do it as follows: document.getElementById("dummy").disabled = false` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Heal thy legs"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + let x = $(par).append( + "" + ); + + $(btn1).on({ + click: function () { + fixDisabledVanilla(btn1, par, x); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `Here it is pretty simple too, for example: $('#my-input-id').prop('disabled', false);)` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("That looks bad"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(parBo).append(""); + + $(btn2).on({ + click: function () { + fixDisabledQuery(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Set a data-src attribute + +function createSetDataSrc(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text(`ask about this`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I serve the republic"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + clonate(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`Ask about this `); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Long live the Empire!"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryClone(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//remove data-src + +function createRemoveDataSrc(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text(`ask about this`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I serve the republic"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + clonate(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`Ask about this `); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Long live the Empire!"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + queryClone(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Hide + +function createHideExample(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `You can do this by changing the style like this: ocument.getElementById("dark").style.visibility = "hidden"` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Put him to sleep"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + $(par).append("

Pls sir, I´m afraid of the dark

"); + $(btn1).on({ + click: function () { + vanillaHideF(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`As usual it is easier with Jquery: $( ".target" ).hide()`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Puff!"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(parBo).append("

And for my next trick...

"); + $(btn2).on({ + click: function () { + JqueryHide(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//show + +function createShowElement(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `You can do this by changing the style like this: document.getElementById("dark").style.display = "block"` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Could the real Slim Shady pls stand up"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + let h = document.createElement("p"); + h.innerText = "Guess who´s back, guess who´s back, guess who´s back..."; + h.style.display = "none"; + $(par).append(h); + $(btn1).on({ + click: function () { + vanillaShowF(btn1, par, h); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`As usual it is easier with Jquery: $( ".target" ).hide()`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Play AC/DC"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + let z = document.createElement("p"); + z.innerText = "Cause I´m back in Black, I hit the sack..."; + z.style.display = "none"; + $(parBo).append(z); + + $(btn2).on({ + click: function () { + JqueryShow(btn2, parBo, z); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Fade in + +function createFades(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`This one made me cry, but here is how this is done: let cry = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] + let i = 0 +let x = setInterval(() => { + i++ + m.style.opacity = cry[i] + console.log("I work") + console.log(i) + if( i === 10) { +clearInterval(x) + } + }, 1000); `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I hope nobody shows up"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + let m = document.createElement("p"); + $(m).text("I´m a really bad ninja"); + $(m).css("opacity", "0.0"); + $(par).append(m); + + $(btn1).on({ + click: function () { + painInTheAss(btn1, par, m); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `This is waay, easier than in vanilla. Here all we need is to use the following method: $(x).fadeIn() ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Where is x?"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + let x = document.createElement("p"); + $(x).css("display", "none"); + $(x).text("Sorry, me late"); + $(parBo).append(x); + + $(btn2).on({ + click: function () { + fadeInFun(btn2, parBo, x); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Fade out + +function createFadeThisOut(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `Same pain in the rear as before, but with the array elements ordered backwards` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Go away, dude"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + let m = document.createElement("p"); + $(m).text("I´m leaving, don´t try to stop me"); + $(m).css("opacity", "1"); + $(par).append(m); + + $(btn1).on({ + click: function () { + painInTheRear(btn1, par, m); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text(`I love Jquery: $(x).fadeOut()`); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Out"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + let x = document.createElement("p"); + $(x).text("K, I´m leaving"); + $(parBo).append(x); + + $(btn2).on({ + click: function () { + fadeOutFun(btn2, parBo, x); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Iterate a collection of elements + +function createIterateEl(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`It´s never easy with vanilla: let x = Array.from(document.querySelectorAll("p")) + + x.forEach(element => { + element.style.background = "blue"; + });`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Wish I could paint the world blue"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + dontKnowWhatImDoing(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As always it is easier: $( "li" ).each(function(){console.log("Hola")} ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Let´s blow up the F-ing code"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + chaosShouldPrevail(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} diff --git a/js/selector.js b/js/selector.js new file mode 100644 index 00000000..6bc5554e --- /dev/null +++ b/js/selector.js @@ -0,0 +1,1051 @@ +function createSelectors() { + let listArray = [ + "Get the parent element", + "Get the collection of children", + "Get all the elements that have a certain class", + "Get an item by id", + "Get all the elements", + "Get the options of a select element that are selected", + "Change the href attribute", + "Show an alert with the value of the first of the page", + "Remove all items", + "Animate an item", + ]; + + let main = document.createElement("div"); + $(main).addClass("flexiMain"); + body.append(main); + + let list = document.createElement("aside"); + $(list).addClass("funSideBar2"); + $(main).append(list); + + let exampleSide = document.createElement("div"); + $(exampleSide).addClass("exampleSide"); + $(main).append(exampleSide); + + /// just to mark test code + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text("Click an element from the left side list to see examples"); + $(container).append(toH3); + + //for EACH + + listArray.forEach((element) => { + let z = document.createElement("p"); + $(z).text(element); + $(list).append(z); + let r = $(z).text(); + + $(z).on({ + click: function (params) { + displayExampleSelectors(r); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + }); +} + +//Click element +function displayExampleSelectors(r) { + if (r === "Get the parent element") { + createGetParentElement(r); + } + if (r === "Get the collection of children") { + createCollectionOfKids(r); + } + if (r === "Get all the elements that have a certain class") { + createAllElementsClass(r); + } + if (r === "Get an item by id") { + createIdElements(r); + } + if (r === "Get all the elements") { + getAllThemElements(r); + } + if (r === "Get the options of a select element that are selected") { + createOptionSelect(r); + } + if (r === "Change the href attribute") { + changeHref(r); + } + if (r === "Show an alert with the value of the first of the page") { + showMeThemInputs(r); + } + if (r === "Remove all items") { + createRemoveItems(r); + } + if (r === "Animate an item") { + createAnimationFun(r); + } +} + +//Get parent element +function createGetParentElement(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text(`This one is pretty simple on Js: let x = btn1.parentElement; `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("All my world is blue"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + vanillaParents(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `And jquery is just as simple: $(btn2).parent().css("color", "green")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Green is not prettiest color"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + fatherElementQuery(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//collection of Children elements + +function createCollectionOfKids(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `In order to select them you just need to do as follows, we will delete them to show the selection worked: par.childNodes ` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I am... protection"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + let z = ["I´m a child", "I´m a child Too", "I´m adopted"]; + + z.forEach((element) => { + let m = document.createElement("p"); + m.innerText = element; + $(par).append(m); + }); + + $(btn1).on({ + click: function () { + killThemKids(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As usual, here we just have to use a simple method: $(par).children` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Gonna paint them red"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + z.forEach((element) => { + let m = document.createElement("p"); + m.innerText = element; + $(parBo).append(m); + }); + + $(btn2).on({ + click: function () { + redPaintedKids(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Get all the elements that have a certain class + +function createAllElementsClass(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `This can be done with classes and tags. As I´m lazy I´m gonna use all P elements instead of creating elements with an specific class. There are many ways of doing this but my favourite is: document.querySelectorAll("p"), this however returns a node list, so as usual to interact with the elements is necessary to convert them to an array.` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Those classists P"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + classChange(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As usual, it is easier with Jquery: $("p").each(function(){} ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I guess yellow is better"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + allPToYellow(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//get an element by id + +function createIdElements(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `This one of the most intuitive ways of selecting a single element: document.getElementById("id")` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Those classists P"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + $(par).append("

If I turn blue, the selection worked

"); + + $(btn1).on({ + click: function () { + shootAPaintBall(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `With this, is even shorter. You just need to write as follows = $(#id) ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I guess yellow is better"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(parBo).append("

If I turn orange, the selection worked

"); + + $(btn2).on({ + click: function () { + shootPaintBallOrange(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Get all the elements + +function getAllThemElements(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`It always requires more steps with js: Array.from(document.querySelectorAll(".ninjas")).forEach(element => { + element.style.display = "block"; `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Those classists P"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + let z = ["I was hidden", "So was I", "Never expect the spanish inquisition!"]; + + z.forEach((element) => { + let u = document.createElement("p"); + $(u).text(element); + $(u).addClass("ninjas"); + + $(par).append(u); + }); + + $(btn1).on({ + click: function () { + dynamite(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `If I had to choose between garlic bread and Jquery, I choose Jquery: $(".magicians").css({ + "display":"block", + "color":"red" + }) +} ` + ); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Adaba Kadabra"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(parBo).css("display", "none"); + + let j = [ + "Ich bin Lord Voldemord", + "Ich will deutsch sprechen", + "Why are those guys speaking german?", + ]; + j.forEach((element) => { + let l = document.createElement("p"); + l.innerText = element; + $(l).addClass("magicians"); + $(parBo).append(l); + }); + + $(btn2).on({ + click: function () { + magicCarpetRide(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Create Option Select + +function createOptionSelect(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`In order to do the following functionality, it was necesasry to do as follows: let r = document.getElementById("rockets").value + let z = document.createElement("p") + z.innerText = r; + par.appendChild(z)`); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Plse create your selection"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + //select element + let label = document.createElement("label"); + $(label).attr("for", "rockets"); + $(label).text("CHOOSE A ROCKET"); + $(par).append(label); + + $(par).append( + "" + ); + + $(btn1).on({ + click: function () { + displaySelection(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `This time is unsually a little more complicated than in vanilla: $("#fruit option:selected").text()` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Please choose your fruit"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + //Select Element + let label2 = document.createElement("label"); + $(label2).attr("for", "fruit"); + $(label2).text("CHOOSE A FRUIT"); + $(parBo).append(label2); + + $(parBo).append( + "" + ); + + $(btn2).on({ + click: function () { + chooseFruits(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//Change the href attribute + +function changeHref(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `This how you change the href from the first anchor element: Array.from(document.querySelectorAll("a"))[0].href = "https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley"` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text( + "Click the first attribute after pressing this button to see the change" + ); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + let x = document.createElement("a"); + $(x).attr( + "href", + "https://www.youtube.com/watch?v=pM3JPhWApvY&ab_channel=wiceone" + ); + $(x).text("Extremoduro"); + $(par).append(x); + + let k = document.createElement("a"); + $(k).attr( + "href", + "https://www.youtube.com/watch?v=pM3JPhWApvY&ab_channel=wiceone" + ); + $(k).text("Extremoduro"); + $(par).append(k); + + $(btn1).on({ + click: function () { + changeTheLink(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `As usual less steps are necessary with Jquery: $("a").prop("href", "https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley")` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("I´m tired of making jokes"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + let g = document.createElement("a"); + $(g).attr( + "href", + "https://www.youtube.com/watch?v=pM3JPhWApvY&ab_channel=wiceone" + ); + $(g).text("Extremoduro"); + $(parBo).append(g); + + let h = document.createElement("a"); + $(h).attr( + "href", + "https://www.youtube.com/watch?v=pM3JPhWApvY&ab_channel=wiceone" + ); + $(h).text("Extremoduro"); + $(parBo).append(h); + + $(btn2).on({ + click: function () { + tiredOfJokes(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Show an alert with the value of the first of the page + +function showMeThemInputs(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `This one is fairly simple in js: document.querySelector("input").value` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + $(par).append( + "

" + ); + let h = document.getElementById("l"); + + $(l).on({ + submit: function () { + event.preventDefault(); + showInputs(par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `This code will work only on the first input of the page, so go back and write something in both fields and see the alert you get: alert($("input").val())` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + $(parBo).append( + "
" + ); + let o = document.getElementById("u"); + + $(o).on({ + submit: function () { + event.preventDefault(); + passTheValue(parBo); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +//remove all items + +function createRemoveItems(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par) + .text(`for this a loop seems to be necessary as follows: while (par.firstChild) { + par.removeChild(par.childNodes[0]) `); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("I wouldn´t touch me if I were you."); + $(btn1).addClass("btn1"); + $(par).append(btn1); + + $(btn1).on({ + click: function () { + vanillaBodyDelete(btn1, par); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `This is as easy as it gets, the following code will empty everything attached to the body: $(body).empty()` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("KILL THEM ALL"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + + $(btn2).on({ + click: function () { + destroyThePage(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} + +// Animeta elements + +function createAnimationFun(r) { + let ex = $(".exampleSide"); + ex.empty(); + + let container = document.createElement("div"); + $(container).addClass("con"); + $(".exampleSide").append(container); + + let toH3 = document.createElement("h3"); + $(toH3).addClass("Vanilla"); + $(toH3).text(r + ":" + " " + "Vanilla"); + $(container).append(toH3); + + let topSlider = document.createElement("div"); + $(topSlider).addClass("topSlider"); + $(container).append(topSlider); + + let par = document.createElement("p"); + $(par).text( + `It was ask to be animated 2 seconds after page load. For demo purposes we are gonna do it 2 seconds after button click.In order to do that we are gonna put the animation inside a set timeout.` + ); + $(par).css("display", "none"); + $(topSlider).append(par); + + let btn1 = document.createElement("button"); + $(btn1).text("Leave"); + $(btn1).addClass("btn1"); + $(par).append(btn1); + let m = document.createElement("p"); + $(m).text("I´m leaving, don´t try to stop me"); + $(m).css("opacity", "1"); + $(m).attr("id", "meh"); + $(par).append(m); + + $(btn1).on({ + click: function () { + timeOfYourLife(btn1, par, m); + }, + }); + + $(toH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(par).slideToggle(); + }, + }); + + let boH3 = document.createElement("h3"); + $(boH3).addClass("Vanilla"); + $(boH3).text("Jquery"); + $(container).append(boH3); + + let boSlider = document.createElement("div"); + $(boSlider).addClass("topSlider"); + $(container).append(boSlider); + + let parBo = document.createElement("p"); + $(parBo).text( + `to add a delay to the animation, we add the delay method before the animation, all other animations after that will be delayed too: $("#carmen").delay(2000).animate({ + width: "500px" + }, 2000); ` + ); + $(parBo).css("display", "none"); + $(boSlider).append(parBo); + + let btn2 = document.createElement("button"); + $(btn2).text("Where did she go?"); + $(btn2).addClass("btn1"); + $(parBo).append(btn2); + $(parBo).append( + "

My name is Carmen San Diego

" + ); + + $(btn2).on({ + click: function () { + letsDance(btn2, parBo); + }, + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + }); + + $(boH3).on({ + mouseenter: function (params) { + $(this).css("cursor", "pointer"); + }, + click: function (params) { + $(parBo).slideToggle(); + }, + }); +} diff --git a/js/vanilla.js b/js/vanilla.js new file mode 100644 index 00000000..51541df9 --- /dev/null +++ b/js/vanilla.js @@ -0,0 +1,306 @@ +function removeMe(btn1, par) { + let x = document.getElementById("vanilla"); + + x.removeChild(btn1); +} + +function createVanilla(btn1, par) { + let r = document.createElement("p"); + r.innerText = "I´m Mr Meeseeks look at me! "; + par.appendChild(r); +} + +function appendVanilla(btn1, par) { + let z = document.createElement("p"); + z.innerText = "I´m a child!... Element "; + par.appendChild(z); +} + +function prependVanilla(btn1, par) { + par.insertBefore(x, btn1); +} + +function createAddVanilla(btn1, par) { + par.appendChild(document.createElement("p")).innerText = "Father, I´m alive!"; +} + +function createAddbeforeVanilla(btn1, par) { + par.insertBefore(document.createElement("p"), btn1).innerText = + "Ninja Attack!"; +} + +function clonate(btn1, par) { + let cl = btn1.cloneNode(true); + par.appendChild(cl); +} + +function addClassVanilla(btn1, par) { + btn1.setAttribute("class", "trial"); +} + +function removeClassVanilla(btn1, par) { + btn1.classList.remove("trial2"); +} + +function vanillaClassToogle(btn1, par) { + btn1.classList.toggle("trial2"); +} + +function disabledVanilla(btn1, par) { + btn1.setAttribute("disabled", "true"); +} + +function fixDisabledVanilla(btn1, par, x) { + document.getElementById("dummy").disabled = false; +} + +function vanillaHideF(btn1, par) { + document.getElementById("dark").style.visibility = "hidden"; +} + +function vanillaShowF(btn1, par, h) { + h.style.display = "block"; +} + +function painInTheAss(btn1, par, m) { + let cry = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]; + let i = 0; + let x = setInterval(() => { + i++; + m.style.opacity = cry[i]; + console.log("I work"); + console.log(i); + if (i === 10) { + clearInterval(x); + } + }, 1000); +} + +function painInTheRear(btn1, par, m) { + let cry = [1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0]; + let i = 0; + let x = setInterval(() => { + i++; + m.style.opacity = cry[i]; + console.log("I work"); + console.log(i); + if (i === 10) { + clearInterval(x); + } + }, 100); +} + +function dontKnowWhatImDoing(btn1, par) { + let x = Array.from(document.querySelectorAll("p")); + + x.forEach((element) => { + element.style.background = "blue"; + }); +} + +function vanillaParents(btn1, par) { + let x = btn1.parentElement; + x.style.color = "blue"; +} + +function killThemKids(btn1, par) { + let x = par.childNodes; + let z = Array.from(x); + console.log(z); + z.forEach((element) => { + if (element !== z[0]) par.removeChild(element); + }); +} + +function classChange(btn1, par) { + Array.from(document.querySelectorAll("p")).forEach((element) => { + element.style.background = "purple"; + }); +} + +function shootAPaintBall(btn1, par) { + document.getElementById("Star").style.color = "blue"; +} +function dynamite(btn1, par) { + Array.from(document.querySelectorAll(".ninjas")).forEach((element) => { + element.style.display = "block"; + element.style.color = "green"; + }); +} + +function displaySelection(btn1, par) { + let r = document.getElementById("rockets").value; + let z = document.createElement("p"); + z.innerText = r; + par.appendChild(z); +} + +function changeTheLink(btn1, par) { + Array.from(document.querySelectorAll("a"))[0].href = + "https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley"; +} + +function showInputs(par, event) { + alert(document.querySelector("input").value); +} + +function vanillaBodyDelete(btn1, par) { + console.log("j"); + while (par.firstChild) { + par.removeChild(par.childNodes[0]); + } +} + +function timeOfYourLife(btn1, par) { + let timing = setTimeout(() => { + let cry = [1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0]; + let i = 0; + let x = setInterval(() => { + let m = document.getElementById("meh"); + i++; + m.style.opacity = cry[i]; + console.log("I work"); + console.log(i); + if (i === 10) { + clearInterval(x); + } + }, 100); + }, 2000); +} + +function loadCheck(btn1, par) { + console.log("before"); + if (document.readyState === "complete") { + console.log("after"); + let j = document.createElement("p"); + j.innerText = "Of course it is loaded... YOU´RE SEEING THE PAGE"; + par.appendChild(j); + } +} + +function createButton(btn1, par) { + let x = document.createElement("button"); + x.innerText = "Okay, yeah, I have the code now."; + par.appendChild(x); + + x.addEventListener("click", (e) => { + let k = document.createElement("p"); + k.innerText = "I´m alive"; + par.appendChild(k); + }); +} + +function doubleClickChekerVanilla(btn1, par) { + let x = document.createElement("button"); + x.innerText = "Twice, pls"; + par.appendChild(x); + + x.addEventListener("dblclick", (e) => { + x.style.background = "blue"; + }); +} + +function keyDownEvents(btn1, par) { + document.addEventListener("keydown", (e) => { + btn1.style.color = "blue"; + }); +} + +function mouseMoveEvents(btn1, par) { + document.addEventListener("mousemove", (e) => { + btn1.style.color = "green"; + }); +} + +function createValueCopy(btn1, par) { + let x = document.getElementById("copy"); + + x.addEventListener("change", (e) => { + let pp = document.createElement("p"); + pp.innerText = x.value; + par.appendChild(pp); + }); +} + +function loadThatImage(btn1, par) { + let x = document.createElement("img"); + x.setAttribute("src", "images/coding.jpg"); + par.appendChild(x); + + x.addEventListener("load", (e) => { + par.style.color = "blue"; + }); +} + +function createThemForms(btn1, par) { + $(par).append( + "

" + ); + console.log(document.getElementById("elementals")); + document.getElementById("elementals").addEventListener("submit", (e) => { + event.preventDefault(); + par.style.color = "blue"; + }); +} + +function changeInputType(btn1, par) { + $(par).append( + " " + ); + + document.getElementById("checkings").addEventListener("click", (e) => { + if (document.getElementById("car1").checked) { + par.style.background = "pink"; + } else { + par.style.background = "yellow"; + } + }); +} + +function letsGetToWork(btn1, par) { + let x = document.createElement("ul"); + par.appendChild(x); + let k = ["Element1", "Element2", "Element3"]; + + k.forEach((element) => { + l = document.createElement("li"); + let m = (l.innerText = element); + par.appendChild(l); + + l.addEventListener("click", (e) => { + if (m === "Element1") { + let w = document.createElement("p"); + w.innerText = m; + par.appendChild(w); + } + if (m === "Element2") { + let w = document.createElement("p"); + w.innerText = m; + par.appendChild(w); + } + if (m === "Element3") { + let w = document.createElement("p"); + w.innerText = m; + par.appendChild(w); + } + }); + }); +}