gpt4 book ai didi

rotation - 如何使用 Raphael.js 旋转 div?

转载 作者:行者123 更新时间:2023-12-04 17:13:52 24 4
gpt4 key购买 nike

我是 Raphael 的新手,我真的被卡住了,我想使用按钮与 Raphael 一起旋转 div 及其内容。

理想情况下,我想要一个平滑的动画,当点击按钮时从 0 度到 -90 度,然后当再次点击按钮时,动画会反转。我想我会在鼠标单击时更改 id 或 class,以便我可以对两个动画使用相同的按钮。那会是明智的吗?

我真的很想帮忙,我的沙箱在 http://jsbin.com/isijo/你可以在 http://jsbin.com/isijo/edit 编辑它

非常感谢您的帮助。

最佳答案

您好,欢迎来到拉斐尔!

我已经研究 Raphael 几个月了,虽然文档不是很全面,但软件很出色。

我一直在以多种方式将 Div 与 Raphael 对象混合在一起,并且对哪些有效哪些无效有了“感觉”。

我建议您不要尝试旋转 div,而是(相反)旋转 Raphael 对象。

首先,您可以使用下面的“可调整”代码制作一组 Shiny 的拉斐尔按钮。

var bcontrols = new Array();
var yheight = 300;

for (var i = 0; i < 3; i++) {
bcontrols[i] = paper.circle(15 + (35 * i), yheight, 15).attr({
fill: "r(.5,.9)#39c-#036",
stroke: "none"
});

bcontrols[i].shine = paper.ellipse(15 + (35 * i), yheight, 14, 14).attr({
fill: "r(.5,.1)#ccc-#ccc",
stroke: "none",
opacity: 0
});

bcontrols[i].index = i;
bcontrols[i].shine.index = i;

bcontrols[i].shine.mouseover(function (e) {
this.insertBefore(bcontrols[this.index]);
});

bcontrols[i].mouseout(function () {
this.insertBefore(bcontrols[this.index].shine);
});

/* Called from Raphael buttons */
bcontrols[i].click(function () {
alert("Hello you just clicked " + this.index);

});
}

接下来您需要了解更多关于旋转 Sets 的信息:

var s = paper.set();

s.push(paper.rect(10, 10, 30, 30, 10).attr({fill:'red'}));

s.push(paper.rect(50, 10, 30, 30, 5).attr({fill:'blue'}));

s.push(paper.rect(90, 10, 30, 30).attr({fill:'orange'}));

s.animate({rotation: "360 65 25"}, 2000);

这显示了最后一行“集合”的旋转度数和旋转中心。

我的其他 Raphael 资源网站旨在补充文档(除其他外):

http://www.irunmywebsite.com/raphael/raphaelsource.html

您可以在此处运行上述 2 个代码示例而无需更改:

http://raphaeljs.com/playground.html

我希望这有帮助...

关于rotation - 如何使用 Raphael.js 旋转 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1703366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com