帐户注册

登录

找回密码

忘记密码了?输入你的注册邮箱,并点击重置,稍后,你将会收到一封密码重置邮件。

【d3.js】如何在某event中计算鼠标位置与svg画布边缘的距离?

近期在研究d3.js,非常好奇,放大缩小zoom是如何实现的。没看源码,想先自己看看能不能实现。遇到的问题是svg标签中transform的属性,原始参照点永远是左上角,所以放大缩小操作的时候,位置就会有偏差,现在想让位置仍然保持鼠标在原图的相对位置。所以我的想法就是当鼠标在图形上滚动滑轮时算出鼠标位置距离画布边缘的距离,然后让<g >包裹的整体图形transform(-(scale*x0-x0),-(scale*y0-y0))移动一下就好了。关键是如何实现?抽出一个公共的方法用于计算鼠标距离svg画布的距离的api。

查看全文

JavaScript有哪些Network Graph可视化的库?

JavaScript有哪些库是适合做Force-directed graph (Node-Edge之类的) – 2D 3D皆可可以从以下方面比较吗?显示大数据集的效率/性能:上千个node或是百万级edge的时候 不会卡住(render和process由后台处理,browser主要展示svg不做过多运算)Animation:可以做数据有方向的从node1通过edge1流到node2吗?Interaction:交互性(比如拖拽、移动、放大缩小等效果)就我了解的有:vis.js – A dynamic, browser based visualization library.Sigma jsCytoscape.j […]

查看全文

ajax访问权限系统后台问题?

各位大神好,由于公司技术框架限制,权限系统后台使用主流框架SSH,有权限拦截器设置,现在使用类似phonegap的开发工具开发手机端,倾向于使用js访问后台,但是牵扯到后台的权限管理问题,现在是用ajax模拟登录成功,但是再次请求其他权限方法时,提示没有登录。目前卡在了ajax登录后,其他的ajax请求都能带过去登录状态,之前没有类似经验,不知道如何处理,好像还牵扯到一个跨域的问题。希望做到最好不修改后台。还望各位能提供一个解决思路。万分感谢。

查看全文

如何评价 D3.js 这个框架?

D3.js – Data-Driven Documents 这个框架发布于2011年。从当时的眼光来看,利用Data Join(Thinking with Joins)来完成『DOM结点』与『数据』之间的更新好像还是挺先进的。另外,可以直接操作SVG DOM对象也是 D3 与其他『高级』Visualization框架(例如highchart,protovis)不同的卖点之一。将近4年过去了,前端技术有了些变化,MVVM、Web Component、Virtual DOM似乎是目前的趋势。我不太了解d3.js的实现机制,但感觉它的Data Join与Virtual DOM(React)似乎有点像(利用局部更新来优化性能)。 […]

查看全文

JIT(JavaScript infoVIs Toolkit)如何实现同一个节点的重复绘制?

在下目前在使用JavaScript infoVis Toolkit的SpaceTree来实现组织结构图,项目中有一些子节点是被多个父节点共用的,然而JIT.js是根据节点的ID来绘制,所以,共用的节点无法重复绘制,这也导致了整个tree的布局异常,可有大神遇到过相似的情况?目前想到的解决思路有两个:1、从后台给出的json入手,将重复的节点遍历并赋予新的不同的id,达到将重复节点区分开的目的,从而前端能够更好的展现;2、从前台入手,实现jit.js源码的绘制方法,并重写逻辑。(3、换个js框架…)我比较倾向于用思路2,因为1的话要跟后台的程序员沟通解决,不到山穷水尽我暂时不想去麻烦他(好吧,其实是自己想折腾~)。用思路2 […]

查看全文