summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorAlex Xu <alex_y_xu@yahoo.ca>2014-02-14 08:05:27 -0500
committerAlex Xu <alex_y_xu@yahoo.ca>2014-02-14 08:05:27 -0500
commitf5ccc58a9ad9b2e5c65806bc2c52217e8e3fff68 (patch)
tree5b12682f459735dfbdd8e0f5ba230f537f1526bc /www
parent1f069412967c751d288cdf63508bb65ad367e3b1 (diff)
downloadhtml5ks-f5ccc58a9ad9b2e5c65806bc2c52217e8e3fff68.tar.xz
html5ks-f5ccc58a9ad9b2e5c65806bc2c52217e8e3fff68.zip
add spinner
Diffstat (limited to 'www')
-rw-r--r--www/css/index.css6
-rw-r--r--www/js/api.js7
-rw-r--r--www/js/html5ks.js20
3 files changed, 32 insertions, 1 deletions
diff --git a/www/css/index.css b/www/css/index.css
index 66f0b32..fde07dc 100644
--- a/www/css/index.css
+++ b/www/css/index.css
@@ -336,3 +336,9 @@ input[type="checkbox"]:checked + span:before {
75% { opacity: 1; }
100% { opacity: 0; }
}
+
+.spinner {
+ opacity: 0;
+ -webkit-transition: opacity 2s;
+ transition: opacity 2s;
+}
diff --git a/www/js/api.js b/www/js/api.js
index 225cf38..0dd7951 100644
--- a/www/js/api.js
+++ b/www/js/api.js
@@ -1,3 +1,4 @@
+"use strict";
window.html5ks.api = {
init: function () {
var chrs = html5ks.data.characters;
@@ -48,10 +49,13 @@ window.html5ks.api = {
return false;
};
+ html5ks.spin(1);
+
_nextType();
el.oncanplaythrough = function () {
el.play();
+ html5ks.spin(-1);
};
el.onerror = function (e) {
@@ -260,6 +264,7 @@ window.html5ks.api = {
var lookup = document.getElementById(name),
el = lookup || document.createElement("img");
if (!location && !lookup) location = "center";
+ html5ks.spin(1);
el.onload = function () {
if (location) {
// calculate position
@@ -273,10 +278,12 @@ window.html5ks.api = {
}
el.style.display = "block";
}
+ html5ks.spin(-1);
deferred.resolve();
};
el.onerror = function () {
el.parentNode.removeChild(el);
+ html5ks.spin(-1);
deferred.resolve();
};
var nom = name;
diff --git a/www/js/html5ks.js b/www/js/html5ks.js
index 1f52c52..40765e1 100644
--- a/www/js/html5ks.js
+++ b/www/js/html5ks.js
@@ -77,8 +77,26 @@ window.html5ks = {
nvlsay: document.getElementById("nvlsay"),
nvlctc: document.getElementById("nvlctc"),
choices: document.getElementById("choices"),
- show: document.getElementById("show")
+ show: document.getElementById("show"),
};
+ this.elements.spinner = new Spinner({
+ color: '#CC7C2A',
+ hwaccel: true,
+ length: 30,
+ lines: 15,
+ radius: 60,
+ width: 15
+ }).spin(this.elements.container).el;
+ },
+ _spinners: 0,
+ _spintm: null,
+ spin: function (mod) {
+ clearTimeout(this._spintm);
+ this._spintm = setTimeout(function () {
+ html5ks.elements.spinner.style.opacity = html5ks._spinners === 0 ? 0 : 1;
+ }, 1000);
+ this._spinners += mod;
+ console.assert(this._spinners >= 0);
},
scale: function () {
var newScale = 1;