content: six real code exhibits, rendered by the panel (AUD-152)

This commit is contained in:
Sam Rolfe
2026-10-28 16:00:06 +11:00
parent 2ceb0c147c
commit 36d8e514d4
11 changed files with 296 additions and 25 deletions

View File

@@ -0,0 +1,53 @@
// Excerpt from js/utils/text_effects.js (2,156 lines) in the WebsiteBuilder
// source. Two regions are reproduced verbatim: the timeline loop that derives
// each letter's delay from an easing function (lines 1111-1147), and the
// hand-written easing functions themselves (lines 1340-1349).
$(mySplitTextTarg).each(function(i){
tweenData.letter=$(this);
tweenData.text_static.letter=$(this);
tweenData.text_text_to.letter=$(this);
tweenData.text_text_from.letter=$(this);
if(text_effect_type_animation=="standard"){
if(tweenData.ignoreItems=="on" && Math.random()<tweenData.ignore_amount)return;
if(!keepHide(tweenData,i,$(this).text()))return;
var transforms=getTransforms(tweenData);
//currenttime,start,change,duration
if(tweenData.staggerTimeRnd=="random")stagger=min_max_random(0,tweenData.staggerTime);
// stagger=positionsCubic(tweenData.alternatecount, 0, tweenData.duration, tweenData.total)
var ease=tweenData.easeFunction;
// var ease="easeInCubic";
stime=tweenData.duration;
if(tweenData.direc=="in"){
stagger=jQuery.easing[ease](null,tweenData.alternatecount, 0, tweenData.duration, tweenData.total)+tweenData.startWait
transforms.delay=stagger;
TweenMax.from($(this), tweenData.duration, transforms);
tt=tweenData.duration+stagger;
}
if(tweenData.direc=="out"){
stagger=jQuery.easing[ease](null,tweenData.alternatecount, 0, tweenData.duration, tweenData.total)
transforms.delay=stagger;
transforms.onComplete=tweenRemove($(this),stagger+stime+tweenData.removeWait)
TweenMax.to($(this), tweenData.duration, transforms);
tt=tweenData.duration+stagger+tweenData.removeWait+1;
}
setCssTweens(stime,text_effect_type_animation,tweenData,tweenData.text_static,tweenData.text_text_to,tweenData.text_text_from,$(this),stagger);
// --- easing functions, lines 1340-1349 ---
//t,b,c,d
//currenttime,start,change,duration
//t and do can be time or frames
function positionsCubic(t, b, c, d){
t /= d;
return c*t*t*t + b;
}
function positionSine(t, b, c, d) {
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
}