은, 그러나 그것은 캔버스 위치 또는 줌 레벨로 전환을 애니메이션하지 않습니다 . 애니메이션을 얻으려면 멋진 javascript 애니메이션 메서드 window.requestAnimationFrame을 사용하여 원하는 viewBox 상태로 부드럽게 전환 할 수 있습니다. 모든
우선, 모든 브라우저 방법을 초기화 :
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){
window.setTimeout(callback, 1000/60);
};
})();
여기
var viewBoxX = 0;
var viewBoxY = 0;
//@param direction 'up', 'down', 'right' or 'left'
function pan(direction) {
var start = Date.now();
function step(timestamp) {
var progress = timestamp - start;
var x = viewBoxX,
y = viewBoxY;
if(direction == 'up') {
y = viewBoxY - progress * 0.7;
}
else if (direction == 'down') {
y = viewBoxY + progress * 0.7;
}
else if(direction == 'right') {
x = viewBoxX + progress * 0.7;
}
else {
x = viewBoxX - progress * 0.7;
}
//Now we set the view box at the modified x and y coordinates
//Replace 100,100 with the size of your canvas
paper.setViewBox(x, y, 100, 100);
if (progress < 400) {
window.requestAnimFrame(step);
}
else {
viewBoxX = x;
viewBoxY = y;
}
}
window.requestAnimFrame(step);
}
내 실수 패닝, 내가 요소가 아닌 종이 캔버스에 언급 된 애니메이션에 대한 예제 코드입니다. – matsko
완벽! 정말 고맙습니다! – matsko