From b4cafe3f1873245a1d42a13ce7200eb5066d9d13 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 13 Feb 2025 19:10:09 +0100 Subject: [PATCH] wip #7241 @6 --- .../fluidbook/fluidbook.links.animations.js | 32 +++++++++++++++---- js/libs/fluidbook/fluidbook.links.js | 17 ++++++++-- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.links.animations.js b/js/libs/fluidbook/fluidbook.links.animations.js index d72918b6..b895b552 100644 --- a/js/libs/fluidbook/fluidbook.links.animations.js +++ b/js/libs/fluidbook/fluidbook.links.animations.js @@ -72,10 +72,10 @@ FluidbookLinksAnimations.prototype = { var duration = 0.5; var usegsap = true; var initTransform = $(link).css('transform'); - if(initTransform==='none'){ - initTransform=''; - }else{ - initTransform+=' '; + if (initTransform === 'none') { + initTransform = ''; + } else { + initTransform += ' '; } animation = $.extend({}, globalDefault, defaultParams, animation); @@ -89,9 +89,15 @@ FluidbookLinksAnimations.prototype = { to.repeatDelay = parseFloat(animation.repeatdelay); var css = {}; + if (animation.borderradius) { + css.borderRadius = animation.borderradius; + } if (animation.filter) { css.filter = animation.filter; } + if (animation.opacity) { + css.opacity = animation.opacity; + } if (animation.align) { css.textAlign = animation.align; } @@ -101,7 +107,6 @@ FluidbookLinksAnimations.prototype = { css.backgroundPosition = animation.transformorigin; } else { css.transform = initTransform + 'scale(' + animation.scale + ')'; - console.log(css.transform); css.transformOrigin = animation.transformorigin; } } @@ -205,10 +210,14 @@ FluidbookLinksAnimations.prototype = { from.display = 'none'; to.display = 'block'; to.visibility = 'visible'; - from.opacity = 0; + if (css.opacity !== undefined) { + from.opacity = css.opacity; + } to.opacity = 1; } else if (animation.type === 'fadeout') { - from.opacity = 1; + if (css.opacity !== undefined) { + from.opacity = css.opacity; + } to.opacity = 0; } else if (animation.type === "unmask" || animation.type === 'reveal') { if (animation.type === 'reveal') { @@ -437,6 +446,15 @@ FluidbookLinksAnimations.prototype = { ease = ease.replace('inout', 'inOut'); return ease; }, + + finishAnimations:function(e){ + if ($(e).data('gsap') == undefined) { + return; + } + $.each($(e).data('gsap'),function(k,a){ + a.totalProgress(1); + }); + } } diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index 745b240c..e03b1553 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -121,6 +121,19 @@ FluidbookLinks.prototype = { return true; }); + $(document).on(this.fluidbook.input.hoverEvent, '[data-display-area]', function () { + let s = '[data-id="' + $(this).parent().attr('data-id') + '_da"]'; + let da = $(s); + $this.fluidbook.links.animations.finishAnimations(da); + da.css({opacity: $this.fluidbook.settings.linksOpacity / 100}); + return true; + }); + $(document).on('mouseout', '[data-display-area]', function () { + let da = $('[data-id="' + $(this).parent().attr('data-id') + '_da"]'); + da.css({opacity: 0}); + return true; + }) + $(document).on(this.fluidbook.input.clickEvent, '.multimediaContainer[data-click-to-close="1"]', function () { $this.fluidbook.menu.closeView(); return false; @@ -904,10 +917,10 @@ FluidbookLinks.prototype = { })); } else { timeline.add(gsap.to(el, { - duration: speed*this.fluidbook.settings.linkBlinkTime, delay: d, [o]: v1, ease: 'none' + duration: speed * this.fluidbook.settings.linkBlinkTime, delay: d, [o]: v1, ease: 'none' })); timeline.add(gsap.to(el, { - duration: speed*this.fluidbook.settings.linkBlinkTime, opacity: 0, ease: 'none', onComplete: _complete + duration: speed * this.fluidbook.settings.linkBlinkTime, opacity: 0, ease: 'none', onComplete: _complete })); } timeline.play(); -- 2.39.5