我有一个SVG界面,我想要加载各种用户选择的SVG地图。用户通过单击按钮启动加载地图。一旦加载到它的蒙面区域,地图将是可拖动的(如果你愿意,可以拖动),并且可能是可缩放的。我的心智模式,我知道可能会阻碍,是Flash AS loadMovie()命令,它将外部.swf加载到舞台上的命名对象中。外部.swf然后继承属性,包括名称目标对象的,)将外部SVG加载到SVG
它出现在“使用”命令可能是答案的一部分,但我发现的例子是这样的:。
<svg viewBox="0 0 100 100">
<use xlink:href="defs.svg#icon-1"></use>
</svg>
而我想到的更像是这个片段(缩写,不是功能性代码):
<polygon id="button" onmouseup="loadsvg(buttonname)"/>
function loadsvg(fileref) {
[some code here referencing the external SVG and the object to load it into]
}
有人可以指点我一个像这样工作的交互式SVG的例子,用一个按钮调用一个引用外部文件和目标对象的加载函数吗?或者我需要考虑一个不同的,影响较小的ActionScript架构?每评论
感谢Eric的帮助。我做错了,虽然......没有加载。测试文件是在这里如果你关心看看吧: http://billgregg.net/loadtest/externalloadtest3.svg 应该是加载该文件在同一目录下: HTTP:/ /billgregg.net/loadtest/art-b.svg 另外,在动态创建目标对象时是否有任何特别的优势,而不是拥有反复加载文件的持久对象? –
@BillGregg我更新了我的回答,以反映您的意见 –
谢谢!今天早上我终于有时间玩了,你的代码工作完美: http://billgregg.net/loadtest/externalloadtest4.svg 我稍微修改它,以加载两个不同的SVGs取决于点击的按钮,在var语句(“var x = mode ==='a'?40:60;”)中用行人if-this-else-that替换看起来像switch switch的操作符: http:// billgregg。 net/loadtest/externalloadtest7.svg 我很感激帮助。 –