显示其父div后的svg呈现事件

时间:2015-11-04 08:17:32

标签: javascript svg

这是我的HTML

$is_add = $tot_shrs_amt.$bnfts.$dvdnd.$loan.$grcery.$life_insrnce.$funeral_pln.$flu_vccne.$eye_glss;

这是我的javascript

<div id="parent_div" style="display:none">
    <svg width=400 height=200>elements of svg in here</svg>
</div>
<button onclick="showParentDiv();" />

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

即使“完成渲染”也没有SVG,但是有许多HTML元素存在“加载”事件。当SVG完成解析SVG并加载任何外部引用时,将触发load事件。它应该适合您的需求。

如果你有多个SVG,那么你需要跟踪所有加载事件何时触发,并在收到所有加载事件时显示div。

下面的演示展示了该过程如何适用于一个SVG元素。

var mydiv = document.getElementById("mydiv");
var mysvg = document.getElementById("mysvg");

mysvg.addEventListener("load", function(evt) {
  
  mydiv.style.display = "block";
  
});
<div id="mydiv" style="display: none">
  
  <svg id="mysvg">
    <circle cx="75" cy="75" r="75" fill="deepskyblue"/>
    <circle cx="225" cy="75" r="75" fill="goldenrod"/>\
  </svg>
  
</div>
      

答案 1 :(得分:0)

如果我理解正确,你想在.Show()完成之后做点什么。根据{{​​3}},您可以通过执行与此类似的操作将函数附加到done事件:

$( "#parent_div" ).show("slow",function() {
    // Insert code after "show" is done here
});