原生JS缩放动画在各浏览器正常,仅Firefox无法执行缩放
滚动触发SVG缩放动画在Firefox中失效问题及解决
我用div包裹内联SVG,通过原生JS实现了由用户滚动触发的移动及缩放动画。该动画在Chrome、Edge、Safari Mobile等浏览器中均可正常触发,移动动画能正常执行,但Firefox无法完成SVG的宽度和高度缩放,这是网站上线前仅剩的问题。
代码实现
HTML代码
<div id="pepper-logo" onclick="navClick()" onmouseover="logoOpacity(this)" onmouseout="logoNormal(this)"> <svg> ... </svg> </div>
JS代码
window.addEventListener('scroll',function(e) { if (document.body.scrollTop > 10 || document.documentElement.scrollTop > 10) { logoText.style.opacity='0'; logo.style.left="60px"; logo.style.top="-10px"; logo.style.opacity="0.65"; logoSVG.style.width="90"; logoSVG.style.height="130"; logo.style.zIndex='2'; logoPath.style.fill="#62b564"; } });
问题解决
设置SVG宽高时未指定单位,补充单位后Firefox中的缩放动画正常生效。
内容的提问来源于stack exchange,提问作者Lacomus
相关产品推荐
相关产品推荐

