将SVG文件保存到JavaScript中具有多个图像的变量中,并引用每个图像并分别附加它们
请告诉我是否有更好的方法 因此,我正在构建一个国际象棋游戏,我想运行一个函数,在棋盘上循环,并将棋子的所有图像放置在它们的起始位置。 现在我在互联网上的某个地方读到,我可以引用SVG文件中的id标记。所以我想将图像保存在一个变量中,然后引用该文件,然后引用该特定图像,然后将该图像放置在电路板上 我试着查这个,问我的老师,但没有用 我想在黑板上显示作品的图片到目前为止,这是一个很好的开始 由于CORs对SVG占位符图像的限制,这段代码无法正常工作,但我认为您会明白这一点 下面是一个对象数组,其中包含要将SVG图像放入其中的元素的URL和id。这段代码只是在图像中循环并将它们显示在适当的位置 现在,为了解决您关于将其加载到变量中的问题的另一部分,您可以使用元素的innerHTML动态地执行该操作 希望这对你有所帮助,祝你好运将SVG文件保存到JavaScript中具有多个图像的变量中,并引用每个图像并分别附加它们,javascript,svg,chess,Javascript,Svg,Chess,请告诉我是否有更好的方法 因此,我正在构建一个国际象棋游戏,我想运行一个函数,在棋盘上循环,并将棋子的所有图像放置在它们的起始位置。 现在我在互联网上的某个地方读到,我可以引用SVG文件中的id标记。所以我想将图像保存在一个变量中,然后引用该文件,然后引用该特定图像,然后将该图像放置在电路板上 我试着查这个,问我的老师,但没有用 我想在黑板上显示作品的图片到目前为止,这是一个很好的开始 由于CORs对SVG占位符图像的限制,这段代码无法正常工作,但我认为您会明白这一点 下面是一个对象数组,其中
让svgCollection=[{
url:“https://placeholder.pics/svg/150",
位置:“spot1”
}, {
url:“https://placeholder.pics/svg/150",
位置:'spot2'
}];
$.each(svg集合,(svg)=>{
$.get(svg.url,函数(数据){
$(svg.placement).append(数据[“documentElement]”);
})
});代码>
#spot2{
边框:1px红色实心;
宽度:150px;
高度:150像素;
}
#spot1{
边框:1px绿色实心;
宽度:150px;
高度:150像素;
}
到目前为止开局不错
由于CORs对SVG占位符图像的限制,这段代码无法正常工作,但我认为您会明白这一点
下面是一个对象数组,其中包含要将SVG图像放入其中的元素的URL和id。这段代码只是在图像中循环并将它们显示在适当的位置
现在,为了解决您关于将其加载到变量中的问题的另一部分,您可以使用元素的innerHTML动态地执行该操作
希望这对你有所帮助,祝你好运
让svgCollection=[{
url:“https://placeholder.pics/svg/150",
位置:“spot1”
}, {
url:“https://placeholder.pics/svg/150",
位置:'spot2'
}];
$.each(svg集合,(svg)=>{
$.get(svg.url,函数(数据){
$(svg.placement).append(数据[“documentElement]”);
})
});代码>
#spot2{
边框:1px红色实心;
宽度:150px;
高度:150像素;
}
#spot1{
边框:1px绿色实心;
宽度:150px;
高度:150像素;
}
请查看此SVG文件:。这将给你一个空屏幕。所有项目都被隐藏
但是,如果在view source中打开该文件,其内部外观如下:
svg:not(:target){
显示:无;
}
]]>
内部还有两个其他svg元素,每个元素都有一个id。在CSS中(这一点很重要),主svg中的所有svg元素都有display:none
,除非该元素是目标。
例如,这是针对红猫的:src=”https://path/cat.svg#redcat“
如果你想看到红猫,你可以这样做:
请查看此SVG文件:。这将给你一个空屏幕。所有项目都被隐藏
但是,如果在view source中打开该文件,其内部外观如下:
svg:not(:target){
显示:无;
}
]]>
内部还有两个其他svg元素,每个元素都有一个id。在CSS中(这一点很重要),主svg中的所有svg元素都有display:none
,除非该元素是目标。
例如,这是针对红猫的:src=”https://path/cat.svg#redcat“
如果你想看到红猫,你可以这样做:
那么,什么是如此,什么是CORS。你是说我应该有单独的图像文件而不是1个?我不完全明白你在说什么,或者我只是想得太多了。我不是有意要超越你。SO=堆栈溢出;我的意思是上面的代码在这个网站上不起作用,但在你的代码中可以很好地工作。你帖子的标题是“多张图片”,你的问题是“所有图片”,你是在“创造一场国际象棋”——所以是的,一辆车在视觉上不同于一个棋子。这意味着不同的SVG文件。但也许我误解了你的意思。那么,什么是“如此”和“科尔斯”。你是说我应该有单独的图像文件而不是1个?我不完全明白你在说什么,或者我只是想得太多了。我不是有意要超越你。SO=堆栈溢出;我的意思是上面的代码在这个网站上不起作用,但在你的代码中可以很好地工作。你帖子的标题是“多张图片”,你的问题是“所有图片”,你是在“创造一场国际象棋”——所以是的,一辆车在视觉上不同于一个棋子。这意味着不同的SVG文件。但也许我误解了你的意思。