Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
|
1ac507813d | 5 years ago |
|
77a1a7c0f2 | 7 years ago |
|
71f6e6f2eb | 7 years ago |
|
7957874f09 | 9 years ago |
|
4168c3ca1d | 9 years ago |
|
139798cc07 | 9 years ago |
@ -1,73 +1,94 @@ |
|||||||
window.onload = function() { |
document.addEventListener('DOMContentLoaded',()=>{ |
||||||
|
console.log("Javascript is alive!") |
||||||
// change greeting
|
var greeting = document.getElementById("greeting") |
||||||
var greeting_div = document.getElementById("greeting"); |
greeting.innerHTML="Hello, World!" |
||||||
greeting_div.innerHTML = "Hello, World!"; |
var listelements = document.getElementsByTagName("li") |
||||||
|
for (var i=0;i<listelements.length;i++) { |
||||||
// set background on lis and add event listener
|
listelements[i].style="background-color:yellow;" |
||||||
var list_items = document.querySelectorAll("li"); |
|
||||||
for (var i = list_items.length - 1; i >= 0; i--) { |
|
||||||
list_items[i].style.backgroundColor = "yellow"; |
|
||||||
list_items[i].addEventListener("click", selectItem); |
|
||||||
} |
} |
||||||
|
var greeting = document.querySelector("#greeting") |
||||||
|
|
||||||
// create and add image
|
var newimg = document.createElement("img") |
||||||
var img = document.createElement('img'); |
newimg.classList.add("img-changer") |
||||||
img.src = "http://49.media.tumblr.com/tumblr_m6qt1rjPSz1rxjzkho1_500.gif"; |
newimg.src="http://49.media.tumblr.com/tumblr_m6qt1rjPSz1rxjzkho1_500.gif" |
||||||
greeting_div.appendChild(img); |
greeting.appendChild(newimg) |
||||||
|
|
||||||
// add more event listeners
|
var newlist = document.createElement("ul") |
||||||
document.querySelector("#reset").addEventListener("click",resetButtonHandler); |
newlist.classList.add("todo-items") |
||||||
document.querySelector("#ghosting").addEventListener("mouseover", function() { this.remove(); }); |
var listText = ['make coffee','eat donut','change diapers','drive to work'] |
||||||
document.querySelector("#resize").addEventListener("mouseenter", doubleWidth); |
for (task of listText) { |
||||||
document.querySelector("#resize").addEventListener("mouseleave", resetWidth); |
var todoItem = document.createElement("li") |
||||||
document.querySelector("body").addEventListener("keyup", noDigits); |
todoItem.innerHTML = task |
||||||
|
newlist.appendChild(todoItem) |
||||||
|
} |
||||||
|
document.body.appendChild(newlist) |
||||||
|
|
||||||
// BONUS
|
|
||||||
document.querySelector("body").addEventListener("keyup", konamiCheck); |
|
||||||
}; |
|
||||||
|
|
||||||
function selectItem() { |
var clickSelector = (event)=>{ |
||||||
var curSelected = document.querySelector(".selected"); |
var listitems = document.getElementsByTagName("li"); |
||||||
if (curSelected) { curSelected.className = ""; } |
for (var i=0;i<listelements.length;i++) { |
||||||
this.className = "selected"; |
var item = listelements[i]; |
||||||
document.querySelectorAll("img")[1].src = "./images/" + this.innerHTML + ".jpeg"; |
item.classList.remove("selected") |
||||||
|
//console.log("Removed from "+item)
|
||||||
} |
} |
||||||
|
event.target.classList.add("selected") |
||||||
function resetButtonHandler() { |
var changer = document.querySelector("img:not(.img-changer)") |
||||||
var curSelected = document.querySelector(".selected"); |
changer.src = "./images/"+event.target.innerHTML+".jpeg" |
||||||
if (curSelected) { curSelected.className = ""; } |
|
||||||
document.querySelectorAll("img")[1].setAttribute("src","./images/panic.jpeg"); |
|
||||||
} |
} |
||||||
|
|
||||||
var doubleWidth = function() { |
listelements = document.getElementsByTagName("li") |
||||||
this.style.width = '400px'; |
for (var i=0;i<listelements.length;i++) { |
||||||
}; |
if (!listelements[i].parentElement.classList.contains("todo-items")) { |
||||||
|
listelements[i].addEventListener("click",clickSelector) |
||||||
var resetWidth = function() { |
} |
||||||
this.style.width = '200px'; |
|
||||||
}; |
|
||||||
|
|
||||||
var noDigits = function(e) { |
|
||||||
if (e.keyCode >= 48 && e.keyCode <= 57) { |
|
||||||
alert("I HATE NUMBERZZZ!"); |
|
||||||
} |
} |
||||||
}; |
|
||||||
|
|
||||||
// BONUS
|
document.getElementById("reset").addEventListener("click",(event)=>{ |
||||||
|
var selectedItem = document.querySelector(".selected") |
||||||
|
selectedItem.classList.remove("selected") |
||||||
|
var changer = document.querySelector("img:not(.img-changer)") |
||||||
|
changer.src = "./images/panic.jpeg" |
||||||
|
}) |
||||||
|
|
||||||
var idx = 0; |
document.getElementById("ghosting").addEventListener("mouseover",(event)=>{ |
||||||
|
event.target.remove() |
||||||
|
}) |
||||||
|
document.getElementById("resize").addEventListener("mouseover",(event)=>{ |
||||||
|
event.target.style.width=event.target.offsetWidth*2+"px" |
||||||
|
}) |
||||||
|
document.getElementById("resize").addEventListener("mouseout",(event)=>{ |
||||||
|
event.target.style.width=event.target.offsetWidth/2+"px" |
||||||
|
}) |
||||||
|
var keySequence = [] |
||||||
|
|
||||||
var konamiCheck = function(e) { |
var arrayMatches = (arr1,arr2)=>{ |
||||||
var konamiCodeKeyCodes = [38,38,40,40,37,39,37,39,66,65]; |
if (arr1.length!=arr2.length) { |
||||||
if (e.keyCode === konamiCodeKeyCodes[idx]) { |
return false; |
||||||
idx++; |
} |
||||||
if (idx === konamiCodeKeyCodes.length) { |
for (var i=0;i<arr1.length;i++) { |
||||||
alert("YOU ARE AN EVENT HANDLER GURUUUUUUUUU!"); |
if (arr1[i]!==arr2[i]) { |
||||||
idx = 0; |
return false; |
||||||
|
} |
||||||
} |
} |
||||||
} else { |
return true; |
||||||
idx = 0; |
|
||||||
} |
} |
||||||
|
|
||||||
}; |
window.addEventListener("keydown",(event)=>{ |
||||||
|
var keysListeningFor = [0,1,2,3,4,5,6,7,8,9] |
||||||
|
if (keysListeningFor.includes(Number(event.key))) { |
||||||
|
alert("I HATE NUMBERZZZ!") |
||||||
|
} |
||||||
|
keySequence.push(event.key) |
||||||
|
if (keySequence.length>10) { |
||||||
|
keySequence = keySequence.slice(1,11) |
||||||
|
} |
||||||
|
var konamiCodeArray = ["up","up","down","down","left","right","left","right","b","a"] |
||||||
|
if (arrayMatches(konamiCodeArray,keySequence.map(val=>{ |
||||||
|
var newval = val.replace("Arrow","") |
||||||
|
newval = newval[0].toLowerCase() + newval.substr(1) |
||||||
|
return newval |
||||||
|
}))) { |
||||||
|
alert("YOU ARE AN EVENT HANDLER GURUUUUUUUUU!") |
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
Loading…
Reference in new issue