草庐IT

javascript - 使用 Cypress.js 测试 D3.js 拖动事件

我有一个使用d3-zoom的SVG对象用于缩放和平移功能。它工作完美,但当我开始使用Cypress.js进行集成测试时,问题就出现了。.我尝试在svg元素上使用标准鼠标事件来模拟拖动行为:cy.get('svg').trigger('mousedown',{which:1,force:true}).trigger('mousemove',{position:'left'}).trigger('mouseup',{position:'left',force:true});上面的例子取自Cypressdraganddroprecipe,它会在nodrag.js文件中产生以下错误:canno

javascript - 使用 <symbol> 编写 SVG 脚本

我正在尝试在JS中创建一个SVG元素,然后将其附加到DOM。SVG元素引用了一个符号。我可以使用insertAdjacentHTML方法实现这一点,但不能通过appendChild方法实现。当使用appendChild时,根据浏览器检查器,所有正确的东西都在DOM上,但没有正确呈现。谁能看出原因?http://codepen.io/bradjohnwoods/pen/dGpqMb?editors=101varbtn=document.getElementById('btn');//varmyString='';//btn.insertAdjacentHTML('afterbegin',

javascript - 如何使用 D3 访问对象数组?

我有一个D3图表,我试图在其中解析内联JSON格式的数组,而不是从外部加载数据。而不是做这样的事情:d3.json("data/tsx.json",function(error,data){data.forEach(function(d){d.dateOrig=d.date;d.date=parseDate(d.date);d.close=+d.close;});我只想像这样解析内联JSON格式的数组:vardata=[{"date":"1-May-13","close":58.13},{"date":"30-Apr-13","close":53.98},{"date":"27-Apr

javascript - 使用 d3 为传单创建密度和值(value)热图层

我想用d3在传单map之上实现一个热图层。我有大约2-3k个数据点。我的数据格式如下:[{lat:..,lon:..,value:..},{lat:..,lon:..,value:..},...]理想情况下,我想在基于值的热图和基于点密度的热图之间切换。我还需要能够动态更新数据。从视觉上看,我的目标是这样的:我知道传单有一个coupleofheatmapplugins,两者似乎都不活跃。Heatmap.js最接近我需要的。但是,它似乎没有维护,文档与源代码不一致,而且运行速度太慢。我已经广泛使用d3,如果可能的话,我更愿意将它用于热图层。周围有一两个方block(例如thisone),

javascript - 在 node.js 服务器上更改 svg 中文本元素的内容

我在Node/快速服务器上使用svg.js以及svgdom来尝试管理svg,然后将其转换为PNG以构建PDF。目前,我已经做到了这一点constwindow=require('svgdom');constSVG=require('svg.js')(window);constdocument=window.document;constdraw=SVG(document.documentElement);constfs=require('fs');consttag=fs.readFileSync(`images/name-tag-1-with-name.svg`,'utf8');const

javascript - 最佳基于 Web 的 SVG 所见即所得

我有一个需要绘图程序的站点。我的用户需要能够绘制平面图并向这些图像添加文本。我想知道是否有人遇到过不错的SVG所见即所得编辑器。否则我将不得不使用我不喜欢的Flash或Java应用程序。 最佳答案 我唯一知道的是svg-edit.它远不如CKEditor、TinyMCE或FCKEditor等编辑器在其应用领域中强大或成熟,实现起来也不会那么简单,因为它更像是一个脚本,就像一个组件,最后我不知道定制它是多么容易。但我非常怀疑是否有类似的东西更舒适。你可以试试here或here(顺便提一下,它不能在InternetExplorer中运行

javascript - 可以在 d3.js 中使用固定圆圈大小的圆包布局吗?

这个圆包布局示例(http://bl.ocks.org/4063269)非常适合我正在处理的项目,但是它会相对于彼此调整所有圆圈的大小:有没有一种简单的方法可以为每个圆指定固定的半径?我已经搜索了源代码、示例、google和stackoverflow,但似乎找不到任何有用的东西。圆的准确大小对我来说很重要。 最佳答案 这是可能的,也是简单的事情。第一个答案是准确的,但我认为我的答案更简单、更明确,所以我也附上它。请看这个例子:jsfiddle当你按下“Constant”按钮时,你会看到这样的东西:关键代码行是这样的:pack.val

javascript - 使用 SVG 作为渲染器的 GUI 库?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近不得不用SVG(基于Dojo)实现一些小部件,例如Button、Checkbox、Toggle-Button,现在我面临着更多的小部件:组合框、列表等等。结果给我留下了深刻的印象,尤其是小部件的精度,在所有浏览器中都能正常工作。与使用jQuery和friend完成的经典GUI实现相比,这对我来说是一个巨大的不同......那时候周围什么都没有,我很好

javascript - 如何在 nvd3 饼图的工具提示中获取百分比?

我有一个nvd3饼图。我正在获取百分比值作为标签,但我希望它出现在工具提示中。这是HTML:数据Data1=[{key:"Ongoing",y:20},{key:"completed",y:0}];这是将键显示为工具提示数据的工具提示函数。$scope.toolTipContentFunction=function(){returnfunction(key,x,y,e,graph){return''+key+''}} 最佳答案 这是一个jsfiddle在工具提示中显示百分比。关键代码是这样的:(你必须计算构成饼图的所有值的总和)va

javascript - outerHtml 在 IE 中为 SVG 元素返回 undefined

这是我的代码我在b上触发了鼠标移动事件$("#b").hover(function(){alert($(this)[0].outerHTML);});这在chrome中工作但在IE中不工作我该如何解决..请找到JSFiddle链接:http://jsfiddle.net/r8v70Lnk/警告框只会在chrome中显示,在IE中不会显示。 最佳答案 不知道这是否适合您,但我通常这样做:newXMLSerializer().serializeToString(document.querySelector('#b'))如果你想再次解析字