【发布时间】:2016-02-05 21:55:42
【问题描述】:
首先,抱歉主题名称。我真的无法用一句话准确地解释我想要做什么。
那么!我想要做的是一个笔划上有一个正方形的圆圈,里面会有6个“可悬停”的正方形。
这是我所做的测试:
var s = Snap(500, 500);
var thecircle = s.circle(250,250,100).attr({fill:'none',stroke:'red','stroke-width':'2'});
var pointer = s.rect(240,340,20,20);
var william = s.g(thecircle, pointer);
var hover1 = s.rect(240,290,20,20).attr({'value':'0'}).addClass('hovering');
var hover2 = hover1.clone().transform('r60,250,250').attr({'value':'60'}).addClass('hovering');
var hover3 = hover1.clone().transform('r120,250,250').attr({'value':'120'}).addClass('hovering');
var hover4 = hover1.clone().transform('r180,250,250').attr({'value':'180'}).addClass('hovering');
var hover5 = hover1.clone().transform('r240,250,250').attr({'value':'240'}).addClass('hovering');
var hover6 = hover1.clone().transform('r300,250,250').attr({'value':'300'}).addClass('hovering');
var $ = jQuery;
$('.hovering').mouseenter(function(){
var rotate = $(this).attr('value');
william.animate({transform:'r'+rotate+',250,250'},300,mina.ease);
});
这是一个小提琴,您可以检查动画的外观:JSfiddle
现在,看看当您将鼠标悬停在第 6 个方格(300 度)然后悬停在第 2 个方格(60 度)时会发生什么。指针会在第 5、第 4 和第 3 条前面一直移动,然后到达第 2 条(行程 240 度)。
我想让我的指针以最快的路线到达目的地,在本例中,它是 420 度。 但我不知道如何让它表现得那样,因为我的数学不太好......
【问题讨论】:
标签: javascript jquery svg snap.svg