Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* This function takes a list of DOM elements as well as a
- * localStorage key. It retrieves thee value N from localStorage and
- * hides all but the Nth element from the list of elements. This is
- * used to display different things based on game state.
- */
- function createSwitch(elements, lskey) {
- if (elements.length < 2) return -1;
- var i, lsval = localStorage.getItem(lskey);
- // make sure true/false switches aren't bungled
- if (lsval === false) lsval = 0;
- if (lsval === true) lsval = 1;
- for (i = 0; i < elements.length; i++) {
- if ((lsval === null && i == 0) || lsval == i) {
- elements[i].style.display = "";
- } else {
- elements[i].style.display = "none";
- }
- }
- }
- var updateInterval = 5; // ms
- function morphColor(c1, c2, time, updatefunc, finish) {
- if (time <= updateInterval) {
- updatefunc(c2);
- return -1;
- }
- var r = c1[0], g = c1[1], b = c1[2];
- var R = c2[0], G = c2[1], B = c2[2];
- var dr = R-r, dg = G-g, db = B-b;
- var steps = time / updateInterval;
- var rstep = dr / steps;
- var gstep = dg / steps;
- var bstep = db / steps;
- var i = 0;
- var inter = window.setInterval(function() {
- r += rstep;
- g += gstep;
- b += bstep;
- updatefunc([parseInt(r,10),parseInt(g,10),parseInt(b,10)]);
- if (++i >= steps) {
- clearInterval(inter);
- if (finish) finish();
- }
- }, updateInterval);
- return inter;
- }
- function setbg(el) {
- return function(c) {
- el.style.backgroundColor = "rgb("+c[0]+","+c[1]+","+c[2]+")";
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement