草庐IT

svg-animate

全部标签

javascript - 如何获取没有 X/Y 属性的 SVG 元素(路径等)的 x/y 坐标?

我正在尝试使用Javascript获取SVG元素的位置。我设法获得了具有X/Y属性集的元素的位置。但是诸如路径之类的元素没有此属性。至少在我的文档中没有。除了取“路径”中的第一个数字之外,还有其他方法可以计算位置吗?谢谢,莫腾 最佳答案 您可以使用函数getBBox()获取路径的边界框。这将为您提供可能包含渲染路径的最紧凑矩形的位置和大小。与读取x和y值相比,使用此方法的一个优点是它适用于所有图形对象。没有x和y的对象多于路径,例如有cx和cy的圆。链接:getBBox()在SVGv1.1标准中。

javascript - d3.on ("mouseover") 事件不适用于嵌套的 SVG 元素

我有一组嵌套的元素(SVG)。根元素是图形,子元素是图形中的元素(线、轴等)。简化示例:我的问题是,如果我将mouseover/mousemove事件(例如使用D3.on("mouseover"))绑定(bind)到mainGraph元素,它只会在我将鼠标移到其中一个子元素上时触发。我读到的一件事是后面的元素有优先级,所以我向所有子元素添加了.style("pointer-events","none"),但这没有用。 最佳答案 一种方法是添加一个填充整个表面的矩形作为第一个元素,以捕获后来添加的元素未捕获的鼠标事件:somethin

javascript - D3 map SVG 性能

过去几天我一直在努力优化D3map上的性能,尤其是在移动设备上。我正在使用SVG变换进行缩放和平移,但进行了以下观察:矫枉过正来自用于伪造国家之间间距的路径笔划。我上传了一对示例map以供比较:http://www.nicksotiriadis.gr/d3/d3-map-1.htmlhttp://www.nicksotiriadis.gr/d3/d3-map-2.html两张map之间的唯一区别是沿乡村道路的笔划路径,性能差异在桌面设备上什至很明显-但在移动设备上更明显。删除路径笔划使移动性能变得轻而易举..我尝试了各种svg笔画形状渲染选项,但没有取得显着效果。现在进入问题。有什么方

javascript - react native : Constraining Animated. 值

我正在制作一个React-Native应用程序,场景是这样的:我希望用户能够平移View,但不是完全按照他想要的方式。我想限制View在被用户拖动时可以移动多少。我已经通读了PanResponder和AnimatedAPI的文档(多次),但找不到执行此操作的任何内容,我也找不到任何其他实现类似东西的人。在panresponder的事件中进行约束?onPanResponderMove:Animated.event([null,{dx:this.state.pan.x,//Somefunctionheretoconstrainthevalue?dy:this.state.pan.y}]),

javascript - 动态 svg 图标?

我有一个SVG图标。我想用不同的颜色作为图标。由于没有任何用于SVG元素的toDataUrl(),我看不到不涉及服务器的解决方案。对客户端解决方案有什么想法吗? 最佳答案 fabric.js支持将SVG元素渲染到canvas元素中。 关于javascript-动态svg图标?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3890442/

javascript - SVG水填充动画

我要制作一个删除动画,看起来就像一滴水充满了水。它目前是一个正方形,在放置Logo的顶部有一个波浪动画。它可以正确地制作波浪动画,但我无法让它留在水滴内并填满。我越来越接近了,但我仍然需要实际Logo至少在圆圈内。我的进步:SVGLineAnimationDemo.st0{fill:none;stroke:#000000;stroke-width:4;stroke-miterlimit:5;}.st1{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:5;}#logo2{width:150px!important;hei

javascript - Chrome 和 IE : parallax (jQuery animate) is not smooth when using mouse wheel to scroll

我改编了this为我的网站使用视差效果的jQuery插件。问题是(即使在上面链接中的演示中)Chrome和IE的滚动真的不流畅。只有当您按下鼠标中键并且滚动是连续的(不是“逐步的”"当您滚动鼠标滚轮时)。所以当你使用鼠标滚轮滚动时,视差效果就完全被破坏了。在Firefox中,即使使用鼠标滚轮滚动,滚动也是连续的。有没有一种方法可以在IE和Chrome中连续滚动(javascript?)。Here是我的网站(如您所见,如果您使用Firefox访问它,效果完全不同)。 最佳答案 我用这个jQuery脚本解决了这个问题(它为键盘和鼠标滚动

javascript - 如何使用 JavaScript 更改 svg <g transform=scale(X)> 的参数?

嘿。假设我的页面某处有SVG图形。当触发某些事件时,我想重新调整一组。我该怎么做?示例代码:Text我想更改scale(13)参数,为此应该在functiongetScreenSize(evt){...}?或者如何以不同的方式达到类似的效果?编辑至于一般想法,我想调整图形大小而不在任何地方指定固定值。所以我的div大小是基于百分比的,现在我只希望我的图形完全适合我的div,而不管它的大小。这就是为什么我想到JS在事件被触发(div调整大小)时更改scale()参数。函数将放入DivSize/rectBaseSize(x或y)的比例参数计算。 最佳答案

javascript - jQuery 多个 animate() 回调

我正在尝试同时为一组元素设置动画(几乎每个动画之间都有一个小延迟):$('.block').each(function(i){$(this).stop().delay(60*i).animate({'opacity':1},{duration:250,complete:mycallbackfunction//如何在所有动画完成后运行回调函数? 最佳答案 在计数器变量周围使用闭包。var$blocks=$('.block');varcount=$blocks.length;$blocks.each(function(i){$(this

javascript - 使用d3获取鼠标点击svg的坐标

我想获取鼠标点击矩形svg时的坐标。我正在尝试将鼠标点击坐标打印到控制台。我可以使用pageX和pageY来获取坐标,但那是整个页面的坐标。我只需要svg中的坐标。我正在使用d3.v3.min.js所以我尝试了:$(document).mousedown(function(){console.log(d3.mouse(this));});我得到错误:UncaughtTypeError:Cannotreadproperty'sourceEvent'ofnull我也试过:$(document).mousedown(function(){console.log(d3.mouse(docume