【发布时间】:2015-07-08 17:12:39
【问题描述】:
我的屏幕上确实有许多 (>100) 个 SVG-<g> 元素,如果用户将鼠标悬停在其中一个上,则此 <g> 中包含的内部 img 元素应该变得可见。如果用户将鼠标悬停在<g> 之外,他们应该会再次变得不可见。
我看到有两种方法可以做到这一点:
- 在每个 mouseenter 上插入
<img>,并在 mouseleave 时将其删除。 - 在初始渲染期间在每个
<g>上插入元素,使它们最初不可见,然后在 mouseenter 上将它们变为可见。
哪一个是要走的路? 如果是#2,使用什么 CSS 属性?我找到了很多,包括
visibility : hidden;
和
display : none;
【问题讨论】:
-
stackoverflow.com/questions/3475119/… :) 相关!对于您的情况,我推荐
display:none.. 使用更多元素应该会更快。 -
Display none 将隐藏元素及其占位符。所以看看那方面的表现
-
绝对解决方案#2
标签: javascript css svg