|
|
|
@ -2,19 +2,10 @@ var elements = [];
|
|
|
|
|
var maxElements = 30;
|
|
|
|
|
|
|
|
|
|
var appendElement = function appendElement(element) {
|
|
|
|
|
elements.push({
|
|
|
|
|
el:element,
|
|
|
|
|
haveDrawn: false
|
|
|
|
|
});
|
|
|
|
|
if (canvas.children.length > maxElements) {
|
|
|
|
|
var oldElem = elements.shift();
|
|
|
|
|
try {
|
|
|
|
|
canvas.removeChild(oldElem);
|
|
|
|
|
} catch (e) {}
|
|
|
|
|
delete oldElem;
|
|
|
|
|
}
|
|
|
|
|
element.haveDrawn = false;
|
|
|
|
|
elements.push(element);
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
drawElement(elements[0]);
|
|
|
|
|
animListener();
|
|
|
|
|
}, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -25,24 +16,21 @@ var canvasH = canvas.scrollHeight;
|
|
|
|
|
var drawElement = function drawElement(element) {
|
|
|
|
|
try {
|
|
|
|
|
element.haveDrawn = true;
|
|
|
|
|
canvas.appendChild(element.el);
|
|
|
|
|
canvas.appendChild(element);
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
animListener()
|
|
|
|
|
console.log(e);
|
|
|
|
|
animListener() // on an error, make sure we call the next one
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var animListener = function animListener(e) {
|
|
|
|
|
// find next undrawn element
|
|
|
|
|
var _continue = true;
|
|
|
|
|
for (element in elements) {
|
|
|
|
|
if (_continue && elements[element].haveDrawn == false ) {
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
drawElement(elements[element]);
|
|
|
|
|
}, 1000);
|
|
|
|
|
_continue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
undrawn = elements.filter(function(el) {
|
|
|
|
|
return !el.haveDrawn;
|
|
|
|
|
})[0];
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
drawElement(undrawn);
|
|
|
|
|
}, 1000)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var mxcToUrl = function mxcToUrl(mxc) {
|
|
|
|
|