svg更改路径在Firefox和Safari中不起作用

奥米德·尼克(Omid Nikrah)

我的网页中有一些SVG,我想在单击时对其进行动画处理,因此我编写了以下代码,但它仅在Google Chrome中起作用,而在Firefox或Safari中不起作用。

我的代码:

    $('#menu').click(function () {

        if ($(this).find('path:nth-child(1)').attr('d') === 'M12.972944,50.936147C12.972944,50.936147,51.027056,12.882035,51.027056,12.882035') {
            $(this).find('path:nth-child(1)').attr('d','M5.0916789,18.818994C5.0916789,18.818994,52.908321,18.818994,52.908321,18.818994');
            $(this).find('path:nth-child(2)').show('fast');
            $(this).find('path:nth-child(3)').attr('d','M5.0916788,44.95698C5.0916788,44.95698,52.908321,44.95698,52.908321,44.95698');
        }
        else {
            $(this).find('path:nth-child(1)').attr('d','M12.972944,50.936147C12.972944,50.936147,51.027056,12.882035,51.027056,12.882035');
            $(this).find('path:nth-child(2)').hide('fast');
            $(this).find('path:nth-child(3)').attr('d','M12.972944,12.882035000000002C12.972944,12.882035000000002,51.027056,50.936147,51.027056,50.936147');
        }

    });
*{

transition: all 0.5s ease 0.1s;

}         
#menu{
            padding: 0.78rem 1.22rem;
            cursor: pointer;
            display: inline-block;
            float: right;
            path{
              transition:all 300ms ease-in-out;
              -webkit-transition:all 300ms ease-in-out;
              -moz-transition:all 300ms ease-in-out;
              -ms-transition:all 300ms ease-in-out;
              -o-transition:all 300ms ease-in-out;
            }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<svg width="23" height="23" viewBox="0 0 64 64" id="menu" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                        <g>
                    		<path fill="none" stroke="#2A3033" stroke-width="6" stroke-linejoin="bevel" d="M5.0916789,18.818994C5.0916789,18.818994,52.908321,18.818994,52.908321,18.818994"></path>
                    		<path fill="none" stroke="#2A3033" stroke-width="6" stroke-linejoin="bevel" d="m 5.1969746,31.909063 47.8166424,0" transform="matrix(1,0,0,1,0,0)" style="opacity: 1;"></path>
                    		<path fill="none" stroke="#2A3033" stroke-width="6" stroke-linejoin="bevel" d="M5.0916788,44.95698C5.0916788,44.95698,52.908321,44.95698,52.908321,44.95698"></path>
                    	</g>
                    </svg>

保罗·勒博

您没有解释“不工作”的意思。我要猜测的是,您的意思是过渡无效吗?

目前,只有Chrome支持在d属性上应用CSS动画和过渡效果

这是因为d不是样式属性。SVG 1.1规范指出,只能使用CSS设置一组已定义的属性样式。这些属性的列表在SVG规范中:

https://www.w3.org/TR/SVG/propidx.html

即将发布的SVG2规范将使大多数SVG属性可通过CSS进行样式化。到那时,希望所有浏览器都支持CSS动画。但是,到目前为止,只有Chrome浏览器才开始实施此更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SVG SMIL路径动画在Safari中不起作用

来自分类Dev

路径元素上的GreenSock TimelineMax在Safari和Firefox中不起作用

来自分类Dev

SVG <image>标签在Safari和Firefox中不起作用

来自分类Dev

SVG <use>上的动画在FireFox和Safari中不起作用

来自分类Dev

Javascriptcalculate()函数在Firefox和Safari中不起作用

来自分类Dev

剪切路径在Firefox和IE中不起作用

来自分类Dev

SVG Sprite在Safari中不起作用

来自分类Dev

SVG feColorMatrix在Safari中不起作用

来自分类Dev

Flexslider在Firefox或Safari中不起作用

来自分类Dev

SVG在Mozilla Firefox中不起作用

来自分类Dev

SVG 在 Firefox 中不起作用

来自分类Dev

SVG SMIL animateTo 在 Chrome 中运行良好,但在 Firefox 或 Safari 中不起作用

来自分类Dev

与SVG Sprites一起使用时,SVG在IE和Safari中不起作用。

来自分类Dev

CSS SVG剪切路径网址在Firefox中不起作用

来自分类Dev

SVG animateMotion(calcMode spline)在FF和Safari中不起作用

来自分类Dev

HTML锚标记在Firefox,Safari,iPad和iPhone中不起作用

来自分类Dev

使用Polymer通过HTML Imports包含jQuery在Safari和Firefox中不起作用

来自分类Dev

Chrome和Safari滚动条在Firefox中不起作用

来自分类Dev

添加的间距在Firefox中有效,但在Chrome和Safari中不起作用

来自分类Dev

如何修复在Safari中不起作用的SVG动画

来自分类Dev

window.dispatchEvent在Firefox,Safari或IE中不起作用

来自分类Dev

.append在Firefox或Safari浏览器中不起作用

来自分类Dev

window.dispatchEvent在Firefox,Safari或IE中不起作用

来自分类Dev

带有图片的SVG模式在IE 10和Firefox中不起作用

来自分类Dev

带有图片的SVG模式在IE 10和Firefox中不起作用

来自分类Dev

剪切路径在SVG子画面中不起作用

来自分类Dev

CSS中的SVG内联在FireFox中不起作用

来自分类Dev

SVG图像标签在Firefox或IE中不起作用

来自分类Dev

使用xlink的SVG在Firefox 84中不起作用

Related 相关文章

  1. 1

    SVG SMIL路径动画在Safari中不起作用

  2. 2

    路径元素上的GreenSock TimelineMax在Safari和Firefox中不起作用

  3. 3

    SVG <image>标签在Safari和Firefox中不起作用

  4. 4

    SVG <use>上的动画在FireFox和Safari中不起作用

  5. 5

    Javascriptcalculate()函数在Firefox和Safari中不起作用

  6. 6

    剪切路径在Firefox和IE中不起作用

  7. 7

    SVG Sprite在Safari中不起作用

  8. 8

    SVG feColorMatrix在Safari中不起作用

  9. 9

    Flexslider在Firefox或Safari中不起作用

  10. 10

    SVG在Mozilla Firefox中不起作用

  11. 11

    SVG 在 Firefox 中不起作用

  12. 12

    SVG SMIL animateTo 在 Chrome 中运行良好,但在 Firefox 或 Safari 中不起作用

  13. 13

    与SVG Sprites一起使用时,SVG在IE和Safari中不起作用。

  14. 14

    CSS SVG剪切路径网址在Firefox中不起作用

  15. 15

    SVG animateMotion(calcMode spline)在FF和Safari中不起作用

  16. 16

    HTML锚标记在Firefox,Safari,iPad和iPhone中不起作用

  17. 17

    使用Polymer通过HTML Imports包含jQuery在Safari和Firefox中不起作用

  18. 18

    Chrome和Safari滚动条在Firefox中不起作用

  19. 19

    添加的间距在Firefox中有效,但在Chrome和Safari中不起作用

  20. 20

    如何修复在Safari中不起作用的SVG动画

  21. 21

    window.dispatchEvent在Firefox,Safari或IE中不起作用

  22. 22

    .append在Firefox或Safari浏览器中不起作用

  23. 23

    window.dispatchEvent在Firefox,Safari或IE中不起作用

  24. 24

    带有图片的SVG模式在IE 10和Firefox中不起作用

  25. 25

    带有图片的SVG模式在IE 10和Firefox中不起作用

  26. 26

    剪切路径在SVG子画面中不起作用

  27. 27

    CSS中的SVG内联在FireFox中不起作用

  28. 28

    SVG图像标签在Firefox或IE中不起作用

  29. 29

    使用xlink的SVG在Firefox 84中不起作用

热门标签

归档