-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdvd-bounce.js
84 lines (77 loc) · 2.08 KB
/
dvd-bounce.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/**********************************************************
* file: dvd-bounce.js
* purpose: Classic DVD Screensaver
* author: Anthony McGrath (akm@anthonykyle.co.nz)
******************************************************** */
document.addEventListener('DOMContentLoaded', start);
/**********************************************************
* Global Variables
******************************************************** */
var windowSize = {
"height": window.innerHeight,
"width": window.innerWidth
} // windowSize{}
var logo = {
"target": document.getElementById('logo'),
"x": 0,
"y": 0,
"dimX": 200,
"dimY": 88,
"lateral": "R",
"vertical": "D"
} // logo{}
var colors = ["white", "aqua", "blue", "green","pink","red","yellow"];
var index = 0;
function start(){
var interval = setInterval(function(){moveLogo()}, 10);
} // start()
/**********************************************************
* Movement Functions
******************************************************** */
function moveLogo(){
if (logo.lateral == "R"){
if ((logo.x + logo.dimX) == windowSize.width){
logo.lateral = "L";
moveLogo();
changeColor()
} else {
logo.target.style.left = ++logo.x + "px";
}
} else {
if (logo.x == 0){
logo.lateral = "R";
moveLogo();
changeColor()
} else {
logo.target.style.left = --logo.x + "px";
}
}
if (logo.vertical == "D"){
if ((logo.y + logo.dimY) == windowSize.height){
logo.vertical = "U";
moveLogo();
changeColor()
} else {
logo.target.style.top = ++logo.y + "px";
}
} else {
if (logo.y == 0){
logo.vertical = "D";
moveLogo();
changeColor()
} else {
logo.target.style.top = --logo.y + "px";
}
}
} // moveLogo()
function changeColor(){
let newIndex;
do {
newIndex = getIndex();
} while (newIndex == index)
index = newIndex;
logo.target.src = ("images/" + colors[index] + ".png");
} // changeColor()
function getIndex(){
return Math.floor(Math.random() * Math.floor(colors.length));
} // getIndex()