【发布时间】:2016-12-08 04:00:19
【问题描述】:
我的网页上有一个元素(徽标),其中包含其他三个元素,我想这样当整个徽标悬停时,徽标中的两个元素(两个字母)将围绕他们的中心无限期。
我已经使用 CSS 动画实现了旋转元素,但只是为了让元素在其自身悬停时旋转。当使用 CSS 悬停三个元素中的任何一个时,我无法弄清楚如何让多个元素旋转。
我在自己的 svg 标记中将这三个元素作为数据 URI,都在一个 g 中,它本身位于链接到主页的 a href 中。
<header><a id="logoLink" href="">
<g class="logoSvg">
<svg id="c" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.68 37.2"><defs><style>.cls-1{fill:#e94a4a;}</style></defs><title>logo</title><path class="cls-1" d="...
</svg>
<svg id="hri" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 76.88 79.53"><defs><style>.cls-1{fill:#e94a4a;}</style></defs><title>logo copy</title><path class="cls-1" d="M
</svg>
<svg id="s" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31.19 37.2"><defs><style>.cls-1{fill:#e94a4a;}</style></defs><title>logo copy 2</title><path class="cls-1" d="M
</svg>
</g>
</a>
在 html 文档中,我还有一个包含 SnapSVG 内容的脚本源,以及指向 SnapSVG 源代码的链接:
<script src="js/logoAni.js"></script>
SnapSVG js如下:
var logo = $("#logoSvg");
var c = $("#c");
var hri = $("#hri");
var s = $("#s");
function rollover(){
c.transform('r0,100,100');
c.animate({transform: "r360,100,100"},1000,mina.linear,anim);
s.transform('r0,100,100');
s.animate({transform: "r360,100,100"},1000,mina.linear,anim);
}
logo.hover(rollover);
我假设快照代码是错误的。也许我根本不需要使用 snap?
更新: 这是最近的 jfiddle https://jsfiddle.net/Lc12bvyn/
【问题讨论】:
标签: javascript html css svg snap.svg