芝麻web文件管理V1.00
编辑当前文件:/home/seolotod/critterchoice.com/wp-content/themes/rehub-theme/js/gsap-init.js
jQuery(document).ready(function($) { 'use strict'; //GSAP var scrolledfind = false; if($('.rh-gsap-wrap').length > 0){ $('.rh-gsap-wrap').each(function(){ var scrollargs = {}; var current = $(this); if(current.hasClass('prehidden')){ current.removeClass('prehidden'); } if(current.closest('.elementor-widget').hasClass('prehidden')){ current.closest('.elementor-widget').removeClass('prehidden'); } if(current.data('triggertype')){ var triggertype = current.data('triggertype'); }else{ var triggertype = 'custom'; } var anargs = RHGetBasicTween(current); if(current.data('path')){ anargs.motionPath = { path: current.data('path'), immediateRender: true } if(current.data('path-align')){ anargs.motionPath.align = current.data('path-align'); } anargs.motionPath.alignOrigin = []; if(current.data('path-alignx') !== null && current.data('path-alignx') !== undefined){ anargs.motionPath.alignOrigin[0] = parseFloat(current.data('path-alignx')); }else{ anargs.motionPath.alignOrigin[0] = 0.5; } if(current.data('path-aligny') !== null && current.data('path-aligny') !== undefined){ anargs.motionPath.alignOrigin[1] = parseFloat(current.data('path-aligny')); }else{ anargs.motionPath.alignOrigin[1] = 0.5; } if(current.data('path-orient')){ anargs.motionPath.autoRotate = true; } } if(current.data('stagger')){ var stagerobj = current.data('stagger'); if(stagerobj.indexOf(".") == 0 || stagerobj.indexOf("#") == 0){ var $anobj = $(stagerobj); }else{ var $anobj = $('.'+stagerobj); } }else if(current.data('text')){ var $texttype = current.data('text'); var splittextobj = current.children(); var split = new SplitText(splittextobj, {type: $texttype}); if($texttype == 'chars'){ var $anobj = split.chars; }else if($texttype == 'words'){ var $anobj = split.words; }else{ var $anobj = split.lines; } }else if(current.data('svgdraw')){ var svgarray = []; var shapes = ['path', 'line', 'polyline', 'polygon', 'rect', 'ellipse', 'circle']; for (var shape in shapes){ if($(this).find(shapes[shape]).length > 0){ svgarray.push($(this).find(shapes[shape])); } } $anobj = svgarray; if(current.data('from')=='yes'){ anargs.drawSVG = "0%"; }else{ anargs.drawSVG = "100%"; } if(current.data('bg')){ anargs.stroke = current.data('bg'); } } else{ if(current.data('customobject')){ if(current.data('customobject').indexOf("#") == 0){ var customobject = current.data('customobject'); }else{ var customobject = '#'+current.data('customobject'); $anobj = customobject; } }else{ $anobj = current; } } if(current.data('stagger') || current.data('text') || current.data('svgdraw')){ anargs.stagger = {}; if(current.data('stdelay')){ anargs.stagger.each = current.data('stdelay'); }else{ anargs.stagger.each = 0.2; } if(current.data('strandom') == 'yes'){ anargs.stagger.from = "random"; } } var animation = gsap.timeline(); if(current.data('from')=='yes'){ //var animation = gsap.from($anobj, anargs); animation.from($anobj, anargs); }else{ animation.to($anobj, anargs); //var animation = gsap.to($anobj, anargs); } if(current.data('delay')){ animation.delay(current.data('delay')); } if(current.data('loop')=='yes'){ if(current.data('yoyo')=='yes'){ animation.yoyo(true); } animation.repeat(-1); if(current.data('delay') && current.data('repeatdelay')=='yes'){ animation.repeatDelay(current.data('delay')); } } var multianimations = current.data('multianimations'); if(multianimations){ for(var curr = 0; curr < multianimations.length; curr++){ let rx = multianimations[curr].multi_rx; let ry = multianimations[curr].multi_ry; let r = multianimations[curr].multi_r; let px = multianimations[curr].multi_x; let py = multianimations[curr].multi_y; let pxo = multianimations[curr].multi_xo; let pyo = multianimations[curr].multi_yo; let sc = multianimations[curr].multi_scale; let scx = multianimations[curr].multi_scale_x; let scy = multianimations[curr].multi_scale_y; let width = multianimations[curr].multi_width; let height = multianimations[curr].multi_height; let autoAlpha = multianimations[curr].multi_opacity; let bg = multianimations[curr].multi_bg; let origin = multianimations[curr].multi_origin; let de = multianimations[curr].multi_delay; let ea = multianimations[curr].multi_ease; let du = multianimations[curr].multi_duration; let from = multianimations[curr].multi_from; let customtime = multianimations[curr].multi_time; let customobj = multianimations[curr].multi_obj; let onhov = multianimations[curr].multi_hover; let curanobj = $anobj; let multiargs = {}; if(rx) multiargs.rotationX = parseFloat(rx); if(ry) multiargs.rotationY = parseFloat(ry); if(r) multiargs.rotation = parseFloat(r); if(px) multiargs.x = parseFloat(px); if(py) multiargs.y = parseFloat(py); if(pxo) multiargs.xPercent = parseFloat(pxo); if(pyo) multiargs.yPercent = parseFloat(pyo); if(sc) multiargs.scale = parseFloat(sc); if(scx) multiargs.scaleX = parseFloat(scx); if(scy) multiargs.scaleY = parseFloat(scy); if(autoAlpha) multiargs.autoAlpha = parseInt(autoAlpha)/100; if(du) multiargs.duration = parseFloat(du); if(de) multiargs.delay = parseFloat(de); if(origin) multiargs.transformOrigin = origin; if(!customtime) customtime = ">"; if(ea){ var $ease = ea.split("-"); multiargs.ease = $ease[0]+"."+$ease[1]; if(multiargs.ease === "power0.none"){ multiargs.ease = "none"; } } if(customobj && $(customobj).length > 0){ $anobj = $(customobj); } if(from=="yes"){ if(onhov == "yes"){ let childanimation = gsap.timeline(); childanimation.from($anobj, multiargs, customtime).reverse(); curanobj.on("mouseenter", function(event) { childanimation.play(); }); curanobj.on("mouseleave", function(event) { childanimation.reverse(); }); }else{ animation.from($anobj, multiargs, customtime); } }else{ if(onhov == "yes"){ let childanimation = gsap.timeline(); childanimation.to($anobj, multiargs, customtime).reverse(); curanobj.on("mouseenter", function(event) { childanimation.play(); }); curanobj.on("mouseleave", function(event) { childanimation.reverse(); }); }else{ animation.to($anobj, multiargs, customtime); } } } } if(triggertype == 'load'){ if(current.data('videoplay')=='yes'){ RHplayVideo($anobj); } animation.play(); } else if(triggertype == 'batch'){ scrolledfind = true; if(current.data('customtrigger')){ var batchobj = current.data('customtrigger'); if(batchobj.indexOf(".") == 0){ var $batchobj = $(batchobj); }else{ var $batchobj = $('.'+batchobj); } }else{ var $batchobj = $(this).closest('.elementor-widget').find('.col_item'); } RHBatchScrollTrigger(current, anargs, $batchobj); } else if(triggertype == 'hover'){ if(current.data('customtrigger')){ if(current.data('customtrigger').indexOf("#") == 0){ var customtrigger = current.data('customtrigger'); }else{ var customtrigger = '#'+current.data('customtrigger'); } }else{ var customtrigger = $(this).closest('.elementor-widget'); } let curanobj = $(customtrigger); animation.pause(); animation.reverse(); curanobj.on("mouseenter", function(event) { if(current.data('videoplay')=='yes'){ RHplayVideo($anobj); } animation.play(); }); curanobj.on("mouseleave", function(event) { if(current.data('videoplay')=='yes'){ RHpauseVideo($anobj); } animation.reverse(); }); } else if(triggertype == 'click'){ if(current.data('customtrigger')){ if(current.data('customtrigger').indexOf("#") == 0){ var customtrigger = current.data('customtrigger'); }else{ var customtrigger = '#'+current.data('customtrigger'); } }else{ var customtrigger = $(this).closest('.elementor-widget'); } let curanobj = $(customtrigger); animation.pause(); animation.reverse(); curanobj.click( function(event) { if(current.data('videoplay')=='yes'){ RHplayVideo($anobj); } animation.play(); } ); } else{ scrolledfind = true; if(current.data('customtrigger')){ if(current.data('customtrigger').indexOf("#") == 0){ var customtrigger = current.data('customtrigger'); }else{ var customtrigger = '#'+current.data('customtrigger'); } }else{ var customtrigger = $(this).closest('.elementor-widget'); } scrollargs.trigger = customtrigger; if(current.data('triggerstart')){ scrollargs.start = current.data('triggerstart'); }else{ scrollargs.start = "top 92%"; } if(current.data('triggerend')){ scrollargs.end = current.data('triggerend'); } if(current.data('triggerscrub')){ scrollargs.scrub = parseFloat(current.data('triggerscrub')); } if(current.data('triggersnap')){ scrollargs.snap = parseFloat(current.data('triggersnap')); } if(current.data('pinned')){ scrollargs.pin = true; } if(current.data('pinspace')){ scrollargs.pinSpacing = false; } if(current.data('triggeraction')){ scrollargs.toggleActions = current.data('triggeraction'); }else{ scrollargs.toggleActions = 'play pause resume reverse'; } scrollargs.animation = animation; if(current.data('videoplay')=='yes'){ scrollargs.onToggle = self => self.isActive ? RHplayVideo($anobj) : RHpauseVideo($anobj); } ScrollTrigger.create(scrollargs); } }); if(scrolledfind){ document.addEventListener('lazyloaded', function(e){ ScrollTrigger.refresh(); }); } } if($('.rh-reveal-wrap').length > 0){ $('.rh-reveal-wrap').each(function(){ var revealwrap = $(this); var revealcover = $(this).find(".rh-reveal-block"); var revealcontent = $(this).find(".rh-reveal-cont"); revealwrap.removeClass('prehidden'); var tl = gsap.timeline({scrollTrigger: {trigger:revealwrap, start: "top 80%"}}); if(revealcover.data('reveal-speed')){ var $coverspeed = revealcover.data('reveal-speed'); }else{ var $coverspeed = 0.5; } if(revealcover.data('reveal-delay')){ var $coverdelay = revealcover.data('reveal-delay'); }else{ var $coverdelay = 0; } $(this).find('img.lazyload').each(function(){ var source = $(this).attr("data-src"); $(this).attr("src", source).css({'opacity': '1'}); }); if(revealcover.data('reveal-dir')=='lr'){ tl.from(revealcover,{ duration:$coverspeed, scaleX: 0, transformOrigin: "left", delay: $coverdelay }); tl.to(revealcover,{ duration:$coverspeed, scaleX: 0, transformOrigin: "right" }, "reveal"); }else if(revealcover.data('reveal-dir')=='rl'){ tl.from(revealcover,{ duration:$coverspeed, scaleX: 0, transformOrigin: "right", delay: $coverdelay }); tl.to(revealcover,{ duration:$coverspeed, scaleX: 0, transformOrigin: "left" }, "reveal"); } else if(revealcover.data('reveal-dir')=='tb'){ tl.from(revealcover,{ duration:$coverspeed, scaleY: 0, transformOrigin: "top", delay: $coverdelay }); tl.to(revealcover,{ duration:$coverspeed, scaleY: 0, transformOrigin: "bottom" }, "reveal"); } else if(revealcover.data('reveal-dir')=='bt'){ tl.from(revealcover,{ duration:$coverspeed, scaleY: 0, transformOrigin: "bottom", delay: $coverdelay }); tl.to(revealcover,{ duration:$coverspeed, scaleY: 0, transformOrigin: "top" }, "reveal"); } tl.from(revealcontent,{ duration:1, autoAlpha: 0 }, "reveal"); }); } //mouse move if($('.rh-prlx-mouse').length > 0){ $(".rh-prlx-mouse").each(function(index, element){ var mouseargs = {}; var curmouse = $(this); if(curmouse.data('prlx-cur') == "yes"){ var objtrigger = curmouse; }else{ var objtrigger = $('#content'); } objtrigger.on("mousemove", function(event){ var xPos = (event.clientX/ objtrigger.width())-0.5, yPos = (event.clientY/ objtrigger.height())-0.5; if(curmouse.data('prlx-xy')){ var $speedx = curmouse.data('prlx-xy'); mouseargs.x = xPos * $speedx; mouseargs.y = yPos * $speedx; } if(curmouse.data('prlx-tilt')){ var $speedtilt = curmouse.data('prlx-tilt'); mouseargs.rotationY = xPos * $speedtilt; mouseargs.rotationX = yPos * $speedtilt; mouseargs.transformPerspective = 500; mouseargs.transformOrigin = "center center"; } mouseargs.ease = Power1.easeOut; gsap.to(curmouse, mouseargs); }); if(curmouse.data('prlx-rest') == "yes"){ curmouse.on("mouseleave", function(event){ gsap.to(curmouse, {x:0, y:0, rotationY:0, rotationX:0, ease: Power1.easeOut}); }); } }); } }); function RHplayVideo(el) { let vid = el.find("video"); if (vid.length && vid.find('source').length) { if(vid[0].paused){ vid[0].play(); } } } function RHpauseVideo(el) { let vid = el.find("video"); if (vid.length && vid.find('source').length) { if(!vid[0].paused){ vid[0].pause(); } } } function RHBatchScrollTrigger(current, anargs, $batchobj){ var scrollargs = {}; if(current.data('triggerstart')){ scrollargs.start = current.data('triggerstart'); }else{ scrollargs.start = "top 92%"; } if(current.data('triggerend')){ scrollargs.end = current.data('triggerend'); } var batchenter = {}; var batchenterback = {}; var batchleave = {}; var batchleaveback = {}; var batchinit = {}; for(let batchitem in anargs){ if(batchitem == 'x' || batchitem == 'y' || batchitem == 'xPercent' || batchitem == 'yPercent' || batchitem == 'rotation' || batchitem == 'rotationX' || batchitem == 'rotationY'){ batchenter[batchitem] = 0; batchenterback[batchitem] = 0; batchleave[batchitem] = -anargs[batchitem]; batchleaveback[batchitem] = anargs[batchitem]; batchinit[batchitem] = anargs[batchitem]; } if(batchitem == 'scale' || batchitem == 'scaleX' || batchitem == 'scaleY' || batchitem == 'autoAlpha'){ batchenter[batchitem] = 1; batchenterback[batchitem] = 1; batchleave[batchitem] = anargs[batchitem]; batchleaveback[batchitem] = anargs[batchitem]; batchinit[batchitem] = anargs[batchitem]; } if(batchitem == 'transformOrigin' || batchitem == 'duration'){ batchinit[batchitem] = anargs[batchitem]; } } batchenter.overwrite = batchleave.overwrite = batchenterback.overwrite = batchleaveback.overwrite = true; if(current.data('batchint')){ var batchstagger = parseFloat(current.data('batchint')); }else{ var batchstagger = 0.15; } batchenter.stagger = {each: batchstagger}; batchenterback.stagger = {each: batchstagger}; if(current.data('batchrandom') == 'yes'){ batchenter.stagger.from = "random"; batchenterback.stagger.from = "random"; } gsap.set($batchobj, batchinit); scrollargs.onEnter = batch => gsap.to(batch, batchenter); scrollargs.onLeave = batch => gsap.to(batch, batchleave); scrollargs.onEnterBack = batch => gsap.to(batch, batchenterback); scrollargs.onLeaveBack = batch => gsap.to(batch, batchleaveback); ScrollTrigger.batch($batchobj, scrollargs); } function RHGetBasicTween(current){ var anargs = {}; var $duration = current.data('duration'); var $duration = parseFloat($duration); anargs.duration = $duration; if(current.data('x')){ anargs.x = current.data('x'); } if(current.data('y')){ anargs.y = current.data('y'); } if(current.data('xo')){ anargs.xPercent = current.data('xo'); } if(current.data('yo')){ anargs.yPercent = current.data('yo'); } if(current.data('z')){ anargs.z = current.data('z'); } if(current.data('width')){ anargs.width = current.data('width'); } if(current.data('height')){ anargs.height = current.data('height'); } if(current.data('r')){ anargs.rotation = current.data('r'); } if(current.data('rx')){ anargs.rotationX = current.data('rx'); } if(current.data('ry')){ anargs.rotationY = current.data('ry'); } if(current.data('s')){ anargs.scale = current.data('s'); } if(current.data('sx')){ anargs.scaleX = current.data('sx'); } if(current.data('sy')){ anargs.scaleY = current.data('sy'); } if(current.data('boxshadow')){ anargs.boxShadow = current.data('boxshadow').toString(); let colorarray = anargs.boxShadow.split('#'); gsap.set(current, {boxShadow: "0 0 0 0 #"+ colorarray[1]+""}); } if(current.data('o')){ anargs.autoAlpha = parseInt(current.data('o'))/100; if(anargs.autoAlpha == 0.01){ anargs.autoAlpha = 0; } } if(current.data('bg')){ anargs.backgroundColor = current.data('bg'); } if(current.data('origin')){ anargs.transformOrigin = current.data('origin'); } if(current.data('ease')){ var $ease = current.data('ease').split('-'); anargs.ease = $ease[0]+'.'+$ease[1]; if(anargs.ease === 'power0.none'){ anargs.ease = 'none'; } } return anargs; }