草庐IT

svg-android

全部标签

svg - 使用 SVG 和 JavaScript 指向多边形检查?

我有一张map,我通过将不同颜色的区域转换为路径将光栅图形转换为SVG文件。我知道如何在给定边数组的情况下进行基本的多边形点检查,但是svg:path元素代表多个多边形以及mask(考虑到海洋等)和通过解析d属性来提取该信息似乎相当笨拙。是否有一个JS库可以让我简化该检查?我基本上想创建随机点,然后检查它们是在陆地上(即多边形内部)还是水上(即外部)。由于SVG元素似乎允许鼠标事件处理,我认为这应该不是什么大问题(即,如果您可以判断鼠标指针是否在元素之上,那么您已经解决了问题-多边形问题)。编辑:让事情有点复杂,我应该提到svg:path元素似乎是基于曲线而不是直线,所以只需解析d属性

javascript - 将键盘事件附加到 HTML 中的 SVG 元素

当在浏览器中运行HTML内的SVG时,无论如何要将textInput或keypress(或实际上任何其他文本输入)事件附加到SVG元素?我可以将事件处理程序附加到document.documentElement,但是当我通过任何机制将事件处理程序附加到任何类型的SVGElement时,没有任何反应......SVG,g,rect......我从SVG规范中看到这不受支持(W3SVGlistofevents),但是是否有任何浏览器支持任何“附加功能”?我无法在Chrome或Firefox上运行以下内容...Keyeventtestbody,html{margin:0;padding:0;

javascript - 可以将 HTML dom 元素拖放到 SVG dom 元素上吗?

我目前正在使用RaphaëlJS(愿意切换到jQuerySVG)和jQueryUI来尝试制作棋盘游戏的原型(prototype)。它与Risk有点相似,因为棋盘是一张map,您可以(希望很快)将棋子从map上的一个区域拖到另一个区域(比如从A到B)并将它们放在那里。一旦下降,它会触发回调来做一些工作。现在我一直在尝试获取拖放功能。我想拖动一个html元素(div)并将其放到SVG元素上。我对SVG不是很熟悉,但据我了解,要使HTML和SVGDOM一起工作,需要克服一些问题。我有两个版本,我正在尝试让jQueryUI拖/放到其中任何一个。一种是将jQuerySVG与svgdom插件+jQ

javascript - 如何在后台运行 android phonegap 应用程序(关闭应用程序后)?

我已经在github(https://github.com/saileshmittal/phonegap-system-notification-plugin)中为androidphonegap使用了系统通知插件。我已经在我的index.html中使用了这段代码我的代码是:document.addEventListener("deviceready",onDeviceReady,false);functiononDeviceReady(){varnot_title='Message';varnot_text='Zouditwerken?';varnot_tText='Message';

javascript - 当 svg 的高度动态变化时如何使用 viewbox

我有一个可调整大小的div。它有两个内部div。其中一个内部div中有一个svg元素。在svg元素中,我动态地添加和删除内容,这样每次我都在我的svg中添加内容。我通过向它添加20px来增加它的高度,当我删除它时,我将高度减去20px。当我的svg高度变得大于其父div时,父div中会出现一个滚动条。同样,当svg高度小于父div时,滚动条将被删除。当我调整大小时问题就开始了。我在我的svg中添加了一个viewbox选项来调整大小。但是当我增加大小时,我的一些svg元素是不可见的。当我减小尺寸时,我的svg被放置在较低的位置,留下空白空间。在我的脑海里,如何用viewbox属性处理sv

javascript - 是否可以将 SVG 对象的自定义属性设置为数字而不是字符串?

我正在为SVG-G元素(SVG组对象)分配人工属性。我使用SVG转换移动组及其内容,并将组的x/y坐标及其宽度/高度存储在这些属性中。我正在使用D3Javascript库和调用:embeddedElemContainer=nodeBoxContainer.append('svg:g').attr('x',x).attr('y',y).attr('width',width).attr('height',height)结果如下:没关系,唯一困扰我的是属性值存储为字符串。如果我想将它们用于某些计算,我必须强制转换。parseInt(@embeddedElemContainer.attr('x

javascript - 缩放传单 map 时,SVG 圆圈不会重新定位

我正在使用d3在传单map上添加svg圆圈。我的fiddle在这里http://jsfiddle.net/nextstopsun/C3U8g/我添加了一个reset()函数来映射viewreset事件,以计算包含所有圆圈的svgg元素的转换。此函数在mapView重置事件中调用。svg.attr("width",topRight[0]-bottomLeft[0]).attr("height",bottomLeft[1]-topRight[1]).style("margin-left",bottomLeft[0]+"px").style("margin-top",topRight[1]+

javascript - SVG 仅在 safari 中悬停时调整大小

我有一个svg在safari中悬停时调整大小的奇怪问题。我正在使用jquery的悬停将页面上的svg替换为稍微不同的svg。这项工作在除safari之外的所有浏览器中都能正常工作,safari出于某种原因会在鼠标悬停和鼠标移出时完全调整svg的大小。我的svg的高度是在css中设置的img.svg-graphic{height:180px;}并以图片的形式显示在页面上当我将鼠标悬停在容器上时,我将svg换成另一个,然后在悬停时返回默认值。$('.container').hover(function(){$('.svg-graphic').attr('src','svg-icons/ve

javascript - 将数据传递给 d3.svg.line()

所以,我有一个像这样的Javascript对象:-对象{数据:Array[39],时间:Array[39]}object.data是一个值数组,而object.time是一个javascript的日期对象数组。我正在尝试在D3中绘制折线图。我的代码的相关部分://Linefunctionvarline=d3.svg.line().x(function(d,i){returnx(d.time);}).y(function(d,i){returny(d.data);});//DrawLinesvg.append("path").datum([data]).attr("class","lin

javascript - 尝试制作一个 for 循环来绘制 SVG

我刚开始学习SVG,想创建一个for循环来在我的HTML中绘制许多圆圈。是否可以按照我尝试的方式完成,或者我尝试做的是不可能的?MyfirstSVGforloopvarcirclex=50;varcircley=50;for(vari=0;i}; 最佳答案 那么近又那么远你不能将html代码直接放入JavaScript中(那会很酷)JavaScript添加新元素的方式是通过DOM操作。那么让我们看一下代码:首先创建一个带有xmlns的空SVG文档(只需设置xmlns="http://www.w3.org/2000/svg",它在99