草庐IT

Android和播放SVG动画

全部标签

javascript - 如何暂停所有 jQuery 动画?

在某些情况下,我需要暂停页面上的所有动画以进行一些用户交互,然后在用户响应后立即恢复所有动画。例如,我可能有一个淡入超过1秒的动画,我需要暂停400毫秒。它应该在40%的不透明度停止,并保持在那里直到我恢复,此时它应该从它停止的地方开始并花费另外600毫秒完成从40%到100%的淡入。页面上可能同时有多个动画,我想全部暂停。此外,一些动画可能有更多的动画在完成后排队继续,这一切都需要工作:当我恢复时,当前动画需要完成,然后队列中的下一个动画需要开始,就好像什么都没发生一样.jQuery似乎没有任何内置的暂停动画支持;我能找到的最接近的是.stop(),将停在动画中的当前位置,但稍后无法

javascript - JS SVG getCTM 和 setCTM?

如果我使用getCTM()来获取当前的转换矩阵,如果我想在以后恢复它,我该如何使用该对象来设置矩阵(我知道保存和恢复,但那些指的是Canvas和不是项目)我知道我设置了属性:varm=someitem.getCTM();$(someitem).attr("transform","matrix("+m.a+","+m.b+","+m.c+","+m.d+","+m.e+","+m.f+")");但这似乎有点漫长。我找不到任何此类关闭函数的setCTM函数。如果有所不同,则为webkit进行开发。谢谢! 最佳答案 functionset

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 - 请求不断调用的动画帧

尝试了解RequestAnimationFrame及其内部工作原理。浏览器有一个主线程,它是一个事件循环。事件循环可以填充各种异步事件,例如用户交互、定时器被触发、网络调用完成以及触发布局和绘制的事件,例如输入或JS。因此,当JS函数使DOM布局无效或导致重新绘制时,浏览器的主线程重新绘制需要更新的图层,合成器线程将更新后的纹理上传到GPU,最终合成发生并显示结果图像到屏幕上。因此,我的印象是浏览器仅在实际需要时才执行绘制。如果您在静态页面上捕获ChromeDevTools时间轴上的事件而没有发生任何事情,则绝对不会捕获任何事件(没有布局、没有绘制、没有触发动画帧)。说得通。然后你在控

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 - jQuery 动画在 Firefox 中断断续续

我喜欢认为我不是傻瓜,但我无法让我的jQuery水平幻灯片流畅地制作动画,尤其是在FireFox中(在Mac上)。有人有什么建议吗?动画是这样完成的:$('#lookbook').stop().animate({left:-((lookbook-1)*825)+'px'},{duration:800,complete:cap_fade(1)});示例链接:http://mayfourteenth.com/w/lookbook?preview=1 最佳答案 我已经在Windows上的Firefox、Chrome(dev)和Safari

javascript - 动态 svg 图标?

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

javascript - 从 Chrome 扩展程序控制 YouTube 播放器

我正在开发一个GoogleChrome扩展程序,它需要接管YouTube视频的所有控件(播放、暂停、下一个、上一个、更改音量、在X秒开始播放视频等).我尝试了以下方法:第一种方法:使用content_scripts我的manifest.json包含以下内容:"content_scripts":[{"matches":["https://www.youtube.com/*"],"js":["scripts/jquery.js","scripts/in_page.js"]}],我正在为每个YouTube链接加载脚本,而不仅仅是/watch*因为现在YouTube导航完全使用AJAX,因此页

javascript - jQuery UI sortable 在排序时触发 css3 动画

我有一些sortables,它们通过一个类定义了CSS3关键帧动画。排序时,我注意到在thisFiddle.中看到的奇怪行为.slideLeft{animation-name:slideLeft;-webkit-animation-name:slideLeft;animation-duration:1s;-webkit-animation-duration:1s;animation-timing-function:ease-in-out;-webkit-animation-timing-function:ease-in-out;visibility:visible!important;