使用jQuery.svg,我试图动态地将一长串SVG文件加载到网站上相应的抽屉中。我是成功地加载他们适当,然而,当他们全部加载,任何点击网站将被延迟至少2秒。
当svg.load函数被删除时,网站非常快。
这是jQuery:
function initFloorPlans(){
$('.list-item', '#tab1').each(function(){
var zoneID = $(this).attr('data-value');
$(this).find('.svg-load').svg();
svg = $(this).find('.svg-load').svg('get');
var path = "svg/thumbs/"+zoneID+".svg";
svg.load(path,{
addTo: false,
changeSize: true
});
});
}这是一个HTML示例:
<div id="tab1">
<div class="list-item" data-value="zone1-1">
<div class="svg-load"></div>
</div>
<div class="list-item" data-value="zone1-2">
<div class="svg-load"></div>
</div>
<div class="list-item" data-value="zone1-3">
<div class="svg-load"></div>
</div>
<div class="list-item" data-value="zone1-4">
<div class="svg-load"></div>
</div>
<div class="list-item" data-value="zone1-5">
<div class="svg-load"></div>
</div>
<div class="list-item" data-value="zone1-6">
<div class="svg-load"></div>
</div>
</div>我不确定上面的信息是否足以给出一个明智的答案,但是如果你看到任何可疑的东西,或者你能推荐一个我可以开始检查我的代码的区域,那将是非常感谢的。
文件名go (zone1-1.svg),(zone1-2.svg)等等。
具体问题:如果有一些挥之不去的事件,是否有一个特定的成功功能,可以澄清事情?
谢谢!
发布于 2015-04-30 17:14:35
好的,根据Joseph Casey的请求,下面是函数调用:
$(window).load(function(){
initFloorPlans();
});事实证明,这个功能本身是完全没有问题的。真正的问题是SVG文件被破坏了,仅仅是在我用删除了它们周围的空格之后(只使用了图板复选框)。
我不确定这个解决方案是否适用于任何面临这类问题的人,但是,值得考虑的是SVG已经损坏。
我现在加载了几百个SVG,绝对没有任何问题。
谢谢!
https://stackoverflow.com/questions/29955206
复制相似问题