Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SVG文件保存到JavaScript中具有多个图像的变量中,并引用每个图像并分别附加它们_Javascript_Svg_Chess - Fatal编程技术网

将SVG文件保存到JavaScript中具有多个图像的变量中,并引用每个图像并分别附加它们

将SVG文件保存到JavaScript中具有多个图像的变量中,并引用每个图像并分别附加它们,javascript,svg,chess,Javascript,Svg,Chess,请告诉我是否有更好的方法 因此,我正在构建一个国际象棋游戏,我想运行一个函数,在棋盘上循环,并将棋子的所有图像放置在它们的起始位置。 现在我在互联网上的某个地方读到,我可以引用SVG文件中的id标记。所以我想将图像保存在一个变量中,然后引用该文件,然后引用该特定图像,然后将该图像放置在电路板上 我试着查这个,问我的老师,但没有用 我想在黑板上显示作品的图片到目前为止,这是一个很好的开始 由于CORs对SVG占位符图像的限制,这段代码无法正常工作,但我认为您会明白这一点 下面是一个对象数组,其中

请告诉我是否有更好的方法

因此,我正在构建一个国际象棋游戏,我想运行一个函数,在棋盘上循环,并将棋子的所有图像放置在它们的起始位置。 现在我在互联网上的某个地方读到,我可以引用SVG文件中的id标记。所以我想将图像保存在一个变量中,然后引用该文件,然后引用该特定图像,然后将该图像放置在电路板上

我试着查这个,问我的老师,但没有用

我想在黑板上显示作品的图片

到目前为止,这是一个很好的开始

由于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像素;
}

到目前为止开局不错

由于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文件。但也许我误解了你的意思。