Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Javascript 使用<;对象>;用于SVG和从HTML到编辑填充的内联css_Javascript_Jquery_Html_Css_Svg - Fatal编程技术网

Javascript 使用<;对象>;用于SVG和从HTML到编辑填充的内联css

Javascript 使用<;对象>;用于SVG和从HTML到编辑填充的内联css,javascript,jquery,html,css,svg,Javascript,Jquery,Html,Css,Svg,我想替换一个flash对象,它使用一个swf文件(美国地图),并使用html中标识的flash变量动态更改不同状态的颜色。将单个文件用于多个页面 我创建了一个SVG文件,每个州都有一个ID名称,即两个字母的州缩写。我想做的是使用or导入,然后在HTML页面上使用内联CSS操作SVG图像并调整某些项目的填充 SVG文件中的内联CSS(或从SVG文件中引用外部CSS文件)将无法满足我在多个页面上使用一个图像文件的愿望,就像原始swf一样 几天来,我一直在与显示器较量,现在我正在尝试一些jQuery和

我想替换一个flash对象,它使用一个swf文件(美国地图),并使用html中标识的flash变量动态更改不同状态的颜色。将单个文件用于多个页面

我创建了一个SVG文件,每个州都有一个ID名称,即两个字母的州缩写。我想做的是使用or导入,然后在HTML页面上使用内联CSS操作SVG图像并调整某些项目的填充

SVG文件中的内联CSS(或从SVG文件中引用外部CSS文件)将无法满足我在多个页面上使用一个图像文件的愿望,就像原始swf一样

几天来,我一直在与显示器较量,现在我正在尝试一些jQuery和javascript的东西,但遗憾的是,我对js不够精通,无法独自完成这项工作


谢谢你的建议和帮助

不确定我是否完全理解你的要求。我认为您有一个包含美国所有州的SVG图像,并尝试使用(内联)CSS“突出显示”其中一个或多个州

如果是这样,传统的方法就行不通了。JavaScript不能修改图像,CSS也不能,AFAIK。我知道的唯一方法是,在通过JavaScript更改图像后,或多或少地逐字节读取SVG并对其进行base64编码,然后创建一个图像并使用

网络上有两个加密机。我建议研究一下,特别是JSXCompressor或类似的东西。还有一些库可以编辑图像,比如,尽管它不是您想要的。试试谷歌。但老实说,我现在不想一个人在谷歌上搜索你的时间


希望我至少给了你一个正确的方向。

这似乎和你想做的相似。当你将鼠标移到这些状态上时,它们会改变颜色。我相信你可以从中吸取教训。

我觉得我还不需要浏览器支持来回答这个问题。我最终做的是创建flash版本

它的工作原理是,嵌入swf并使用FlashVar为两个数组(颜色数组和状态数组)赋值。结果是我可以在多个页面上使用相同的swf,不同的颜色,不同的状态,不同的颜色

SVG将迎头赶上,我希望:)

您最有可能使用URL片段参数传递。看


您要求的基本上是(注意:spec是一个工作草案,没有已知的实现,语法可能会改变)。该规范中的演示使用了一种可能会有所帮助的方法。

您可以发布您尝试过的代码吗。我尝试了谷歌建议的所有放置SVG的方法,使用。。。如果我在html中绘制矢量SVG,我可以在同一页面中更改样式,但这将导致一个简单的100行文件变成4000行文件,并使文件大小急剧增加。。我现在在想,从嵌入SVG的html文件向SVG发送变量或参数是不可能的。是的,这很混乱。在flash中,这非常简单,而且更干净。。简单的forin循环和完成,但无论如何。。。SVG是一个数据文件。在实际文件中,您可以应用鼠标悬停效果、颜色变化以及各种漂亮的东西。您甚至可以为SVG的特定区域分配点击URL,并制作动画。概念验证:将鼠标移到顶部,它将变为红色。无论如何,我想在多个页面上有一个文件,并以不同的方式呈现。。与flash具有相同的功能file@RyanHollingsworth现在我找到你了。不得不说,我不是一个计算机图形艺术家,甚至不知道这是SVG的可能。我一直认为人们是用HTML中的
map
标记来实现这一点的,特别是当我在过去浏览源代码时看到了它。。。但那是多年前的事了。我想我帮不了大忙。虽然只是在谷歌上搜索一些东西,我发现了。不知道SVG是否支持参数。。。另外,我想你已经考虑过了。谢谢,我想对于我的这个想法,我将不得不等待浏览器赶上我。。。从逻辑上讲,我看到SVG支持不断增加,并成为图标等的标准,考虑到我们现在必须设计的多个DPI屏幕!谢谢你的帮助@RyanHollingsworth你是对的,它们可能会变得更受欢迎,尤其是如果你能编写它们的脚本。为图形艺术家和程序员提供了一个精彩的游乐场。谢谢,我以前看过这个,但它和我以前的情况是一样的。。样式和javascript是在SVG中编码的(下载、在中打开和html编辑器),我认为目前不可能完成我试图做的事情。。哦,好吧!