scrollUpdate: function(event) { periodicTable._translateState.halt(); var previousZ = periodicTable.getPosition()[2]; var newZ = previousZ - event.position[1]/10; newZ = newZ <= 0 ? newZ : 0; newZ = newZ >= -10000 ? newZ : -10000; periodicTable.setPosition(0, 0, newZ); }
function goHelix() { for (var i = 0; i < elements.length; i++) { var el = elements[i]; el.setDelay(i*10); isParaflowing[el] = false; el.setRotation(0, 0, 0, { duration: 300, curve: 'spring' }); var phi = i * 0.175 + Math.PI; var x = 900 * Math.sin(phi); var y = - (i * 8) + 450; var z = 900 * Math.cos(phi); el.setPosition(x, y, z+100, { duration: 300, curve: 'inOutQuad' }); el.setPosition(x, y, z, { duration: 1500, curve: 'spring' }); } var currRotation = periodicTable.getRotation(); var currPosition = periodicTable.getPosition(); periodicTable.setPosition(currPosition[0], currPosition[1], 200, {duration:2000, curve:'inExpo'}); periodicTable.setPosition(currPosition[0], currPosition[1], currPosition[2], {duration:3000, curve:'outExpo'}); periodicTable.setRotation(currRotation[0], currRotation[1], Math.PI, {duration:1000, curve:'inExpo'}); periodicTable.setRotation(currRotation[0], currRotation[1], currRotation[2]+2*Math.PI, {duration:1000, curve:'outExpo'}); }