SVG实现点击元素弹窗展示对应信息
SVG实现点击元素弹窗展示对应信息
实现思路:通过javascript给相应的元素添加按钮点击事件,通过style动态控制弹窗的显示或隐藏
示例如下:
SVG
<g>
<text x="12.25" y="781.51" class="st11" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>10.
<a xlink:href="javascript:Button_onclick()" id="a237">点击测试</a>
</text>
</g>
<g id="78945" style="display: none" data-toggle="popover" data-container="body" title="Popover Header" data-content="Some content inside the popover" data-placement="right">
<defs>
<linearGradient id="gradient-test">
<stop offset="0%" stop-color="#DCE35B" />
<stop offset="100%" stop-color="#45B649" />
</linearGradient>
</defs>
<rect x="600" y="100" width="226" height="430" rx="10" ry="10" stroke="black" fill="url(#gradient-test)" stroke-width="1"/>
</g>
javascript
function Button4_onclick(){
var style = document.getElementById("78945").style.display;
if(style === "none"){
document.getElementById("78945").style.display = "block";
}else if(style === "block"){
document.getElementById("78945").style.display = "none";
}
}
补充说明
data-toggle以什么事件类型触发,常用的如下:
- data-toggle=“dropdown”//下拉菜单
- data-toggle=“model” //模态框事件
- data-toggle=“tooltip”//提示框事件
- data-toggle=“tab”//标签页
- data-toggle=“collapse”//折叠
- data-toggle=“popover”//弹出框
- data-toggle=“button”//按钮事件
- data-toggle=“pill”
一般事件会作用到一个标签对象,如果是其他标签对象,就需要使用data-target指事件的标签目标。
data-container的作用是像指定的元素添加弹出框:
data-placement的作用是设定提示框显示的方向 : top, bottom, left 或 right
tips:以上所提到的属性不加也可以实现需求,嘿嘿