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
| var blobCount = 20;
function randy(min, max) {
return Math.floor(Math.random() * (1 + max - min) + min);
}
var time = 4,
tl = new TimelineMax({repeat: -1,yoyo:false}),
bolo= document.getElementById("bolo");
for (var i = 0; i < blobCount; i++) {
var div = document.createElement("div");
bolo.appendChild(div);
}
var blobs = bolo.children;
initSettings = [];
for (var i = 0; i < blobs.length; i++) {
var init = {};
init.rot = randy(-2500,2500);
init.rotX = randy(-2500,2500);
init.rotY = randy(-2500,2500);
init.rotZ = randy(-2500,2500);
init.left = randy(-40,130) + "%";
init.top = randy(-40,130) + "%";
initSettings.push(init);
tl.set(blobs[i], {
rotation: init.rot,
rotationX: init.rotX,
rotationY: init.rotY,
rotationZ: init.rotZ,
left: init.left,
top: init.top,
});
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*6, {
rotation: "+="+3600,
rotationX: "+="+3600,
rotationY: "+="+3600,
rotationZ: "+="+3600,
ease: Power0.easeNone
}, 0);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*2, {
left: randy(-40,130) + "%",
ease: Sine.easeInOut
}, 0);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time, {
top: randy(-40,130) + "%",
ease: Sine.easeInOut
}, 0);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*2, {
top: randy(-40,130) + "%",
ease: Sine.easeInOut
}, time);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*2, {
left: randy(-40,130) + "%",
ease: Sine.easeInOut
}, time*2);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*2, {
top: randy(-40,130) + "%",
ease: Sine.easeInOut
}, time*3);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time*2, {
left: initSettings[i].left,
ease: Sine.easeInOut
}, time*4);
}
for (var i = 0; i < blobs.length; i++) {
tl.to(blobs[i], time, {
top: initSettings[i].top,
ease: Sine.easeInOut
}, time*5);
} |
Partager