次のコードを使用して、ユーザーが上にカーソルを合わせたときに破線をアニメーション化します。
:コードを修正して、ユーザーがHTMLの読み込みなどの別のイベントを実行したときに、線を引く関数を開始するようにするにはどうすればよいですか。ありがとう!
$(function() {
animateLine = function(canvas, hoverDivName, colorNumber, pathString) {
$('#' + hoverDivName).hover(
function() {
var line = canvas.path(pathString).attr({
stroke: colorNumber
});
var length = line.getTotalLength();
$('path[fill*="none"]').animate({
'to': 1
}, {
duration: 5000,
step: function(pos, fx) {
var offset = length * fx.pos;
var subpath = line.getSubpath(0, offset);
canvas.clear();
canvas.path(subpath).attr({
stroke: colorNumber,
"stroke-dasharray":"--",
"stroke":"#a36d66"
});
},
});
}, function() {
$('path[fill*="none"]').stop(true, false);
});
};
var canvas = Raphael('canvas', 900, 648);
var pathString = "m441.5,223.5c67,-85 47,246 180,110c12,-43 24,-81 8, T1600 ";
animateLine(canvas, "canvas", "#000", pathString);
});
<div id="canvas">
<p>Hover over me</p>
</div>