Files
cardsforscience/js/ui.js
T
Kevin Dungs fa12f3c14e Well I only wanted to implement saving and got carried away.
I cleaned the code up a bit. Everything auto-saves now (every 10s)
except for achievements. Maybe we should look at them together.
2014-08-04 16:56:53 +02:00

95 lines
2.6 KiB
JavaScript

'use strict';
/** Define UI specific stuff.
*/
var UI = (function () {
/** Resize the scrollable containers and make sure they are resized whenever
* the window is resized. */
$(function() {
var h = $(window).height();
$('.scrollable').height(h - 50 + 'px');
$(window).resize(function() {
var h = $(window).height();
$('.scrollable').height(h - 50 + 'px');
});
});
/** Show a bootstrap modal with dynamic content. */
var showModal = function(title, text) {
var $modal = $('#infoBox');
$modal.find('#infoBoxLabel').html(title);
$modal.find('.modal-body').html(text);
$modal.modal({show: true});
};
var showUpdateValue = function(ident, num) {
var formatted = Helpers.formatNumberPostfix(num);
if (num != 0) {
var insert;
if (num > 0) {
insert = $("<div></div>")
.attr("class", "update-plus")
.html("+" + num);
} else {
insert = $("<div></div>")
.attr("class", "update-minus")
.html(num);
}
showUpdate(ident, insert);
}
}
var showUpdate = function(ident, insert) {
var elem = $(ident);
elem.append(insert);
insert.animate({
"bottom":"+=30px",
"opacity": 0
}, { duration: 500, complete: function() {
$(this).remove();
}});
}
return {
showModal: showModal,
showUpdateValue: showUpdateValue
}
})();
// I don't know what this is for, so I leave it here for the moment...
(function() {
var hidden = "hidden";
// Standards:
if (hidden in document)
document.addEventListener("visibilitychange", onchange);
else if ((hidden = "mozHidden") in document)
document.addEventListener("mozvisibilitychange", onchange);
else if ((hidden = "webkitHidden") in document)
document.addEventListener("webkitvisibilitychange", onchange);
else if ((hidden = "msHidden") in document)
document.addEventListener("msvisibilitychange", onchange);
// IE 9 and lower:
else if ('onfocusin' in document)
document.onfocusin = document.onfocusout = onchange;
// All others:
else
window.onpageshow = window.onpagehide
= window.onfocus = window.onblur = onchange;
function onchange (evt) {
var v = 'visible', h = 'hidden',
evtMap = {
focus:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h
};
evt = evt || window.event;
if (evt.type in evtMap)
detector.visible = evtMap[evt.type] == 'visible';
else
detector.visible = !this[hidden];
}
})();