停止动画并重置拉斐尔.js中元素的位置
Stop animation and reset position of an element in Raphaël.js
我有一个简单的动画,从一侧移动到另一侧,我试图创建一个重置按钮,以便动画停止并恢复默认值,但我似乎无法正确。
我正在使用的库是Raphael,但我几乎可以肯定,使用一个简单的javascript,我可以重置函数中的值。
车身加载初始化功能
function init() {
paper = Raphael("loadSVG");
var bg = paper.rect( 0, 0, "240px", "90px", 0 );
bg.attr( {fill: "#f3f3ff"} );
rect1 = paper.rect(150, 20, 50, 50);
rect1.attr( {fill: "#ffaaaa", "stroke-width": 3} );
}
动画功能
function moveRect1() {
if( xEnd == 150 )
xEnd = 50;
else
xEnd = 150;
rect1.animate( {x: xEnd}, 1000, "Sine", function (){
moveRect1();
});
}
和不起作用的停止按钮:)
function stopsvgRect1() {
rect1.stop();
}
您需要将停止按钮绑定到您创建的函数。
例如像这样:
document.querySelector('#stop').onclick = function() {
stopsvgRect1();
};
打开这个小提琴,看看它的实际效果。
编辑:
由于位置也应重置,因此您可以选择Raphael.transform()
此操作。
打开我更新的小提琴,看看它是如何工作的。
相关文章:
- 制作一个chrome扩展,替换css和js元素
- Chosen.js:元素的宽度为0
- 拉斐尔:Chaining;.数据“;到一个拉斐尔.js元素
- 如何将onclick事件添加到joint.js元素中
- 手动呈现原型JS元素对象
- 从第三方原始javascript控制Angular JS元素
- 由于相机位置的原因,无法在场景中显示三个.js元素
- 将复杂的html/css/js元素添加到单个Wordpress页面中
- 向Fabric.js元素添加ID
- Angular Js元素未渲染
- 在属性名称中搜索带有冒号的 xpath 表达式会引发异常(节点.js元素树模块)
- 如何从 react.js 元素中删除特定的事件侦听器
- 不更新 .each 函数中的 D3.js 元素
- JavaScript 变量中的 PHP 数组 - JS 元素
- 检查变量是否为 SVG.js 元素实例
- 如何在基于 Backbone 的模板中添加数据.js元素
- 编写一个类似jQuery的JS元素选择器
- 创建 D3.js 元素 OnClick 事件的放大副本
- 如何覆盖 select2.js 元素之一的 z 索引
- Mouseover/out难题上的JS元素创建/删除