Javascript 在Raphael中设置路径坐标更改动画
Background:我正在使用拉斐尔(Raphael)为一系列带有childJavascript 在Raphael中设置路径坐标更改动画,javascript,animation,svg,raphael,Javascript,Animation,Svg,Raphael,Background:我正在使用拉斐尔(Raphael)为一系列带有child的创建动画边框效果,以下是我迄今为止的JS(通过改变笔划颜色以确保我具有正确的悬停功能): 只需输入新的“路径”属性即可设置动画。所以只要修改端点…悬停函数就会这样改变 关于路径动画-你看到了吗?@EliranMalka我看到了,谢谢-我一直在尝试调整源代码,看看这是否给了我任何想法,但到目前为止,我还没有能够动画任何坐标变化。谢谢@ian!我试图在.animate中指定一个新的路径,但未能指定-这太完美了。 //p
的
创建动画边框效果,以下是我迄今为止的JS(通过改变笔划颜色以确保我具有正确的悬停功能):
只需输入新的“路径”属性即可设置动画。所以只要修改端点…悬停函数就会这样改变
关于路径动画-你看到了吗?@EliranMalka我看到了,谢谢-我一直在尝试调整源代码,看看这是否给了我任何想法,但到目前为止,我还没有能够动画任何坐标变化。谢谢@ian!我试图在.animate
中指定一个新的路径
,但未能指定-这太完美了。
//path coords before anim
var paper = Raphael(document.getElementById("blog"), 142, 46);
var btmleftcorner = paper.path("M0 36L0 46L10 46");
var btmrightcorner = paper.path("M132 46L142 46L142 36");
var toprightcorner = paper.path("M142 10L142 0L132 0");
var topleftcorner = paper.path("M10 0L0 0L0 10");
//path attrs
btmleftcorner.attr({"stroke-width": "2"})
btmrightcorner.attr({"stroke-width": "2"})
toprightcorner.attr({"stroke-width": "2"})
topleftcorner.attr({"stroke-width": "2"})
//path attrs after anim
$("#blog").hover(function () {
btmleftcorner.animate({"stroke": "red"}, 300);
btmrightcorner.animate({"stroke": "red"}, 300);
toprightcorner.animate({"stroke": "red"}, 300);
topleftcorner.animate({"stroke": "red"}, 300);
}, function() {
btmleftcorner.animate({"stroke": "black"}, 300);
btmrightcorner.animate({"stroke": "black"}, 300);
toprightcorner.animate({"stroke": "black"}, 300);
topleftcorner.animate({"stroke": "black"}, 300);
});
$("#blog").hover(function () {
btmleftcorner.animate({"stroke": "red", path: "M0 36L0 46L146 46" }, 300);
btmrightcorner.animate({"stroke": "red", path: "M132 46L142 46L142 0"}, 300);
toprightcorner.animate({"stroke": "red", path: "M142 10L142 0L132 0 0 0"}, 300);
topleftcorner.animate({"stroke": "red", path: "M10 0L0 0L0 46"}, 300);
}, function() {
btmleftcorner.animate({"stroke": "black", path: "M0 36L0 46L10 46"}, 300);
btmrightcorner.animate({"stroke": "black", path: "M132 46L142 46L142 36"}, 300);
toprightcorner.animate({"stroke": "black", path: "M142 10L142 0L132 0"}, 300);
topleftcorner.animate({"stroke": "black", path: "M10 0L0 0L0 10"}, 300);
});