首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Graphiti中创建可折叠的图形?

如何在Graphiti中创建可折叠的图形?
EN

Stack Overflow用户
提问于 2012-07-15 16:41:52
回答 1查看 124关注 0票数 0

该图由多个图组成(全部为SVGFigure)。我想要父图形有一个按钮来改变它的状态,以便它被简化(隐藏大多数子图形和连接线)

实现这一目标的最好方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2012-07-15 21:41:00

我不能100%确定这是否是你要找的东西,但在我对这个问题的解释中:

我认为您可以向不应该在某种状态下显示的图形添加类名。例如,使用这个伪HTML:

代码语言:javascript
复制
<input id="toggleButton" type="button">Toggle</input>
<svg>
    <shape1 class="complexOnly">
    <shape2 class="complexOnly">
    <shape3>
</svg>

并使用以下JavaScript,为按钮附加一个事件侦听器以切换状态:

代码语言:javascript
复制
document.getElementById( "toggleButton" ).addEventListener("click", toggleSVGstate, false );
function toggleSVGstate() {
    this.classList.toggle( "simpleState" );
}

而对于CSS,这只适用于特定的状态:

代码语言:javascript
复制
#toggleButton.simpleState>.complexOnly {
    display: none; /* Or visibility: hidden */
}

这意味着带有complexOnly类的元素仅在toggleButton不处于简单状态时显示(它们隐藏在简单状态中)。请注意,classList.toggle()并不是完全跨浏览器的,但您可以找到一个跨浏览器的方法,因为我只是提供了去/思考的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11490589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档