$(window).load(function() { var p = Raphael(‘canvas‘); p.cx = 0, p.cy = 0, p.cs = 1; p.canvas.style.backgroundColor = ‘#008080‘; $(window).resize(function() { p.setSize($(‘#canvas‘).width(), $(‘#canvas‘).height()); }); $(p.canvas).on(‘mousedown‘, function(e) { if (e.target == p.canvas) { this.ox = e.offsetX; this.oy = e.offsetY; } }); $(p.canvas).on(‘mousemove‘, function(e) { if (e.target == p.canvas && this.ox) { var size = p.getSize(); p.cx = p.cx - (e.offsetX - this.ox) / p.cs; p.cy = p.cy - (e.offsetY - this.oy) / p.cs; p.setViewBox(p.cx, p.cy, size.width / p.cs, size.height / p.cs); this.ox = e.offsetX; this.oy = e.offsetY; } }); $(p.canvas).on(‘mouseup‘, function(e) { if (e.target == p.canvas && this.ox) { delete this.ox; delete this.oy; } }); $(p.canvas).on(‘mousewheel‘, function(e) { if (e.target == p.canvas) { var size = p.getSize(); p.cs2 = e.originalEvent.wheelDelta > 0 ? p.cs * 1.125 : p.cs / 1.125; p.cx = p.cx + (e.offsetX / p.cs - e.offsetX / p.cs2); p.cy = p.cy + (e.offsetY / p.cs - e.offsetY / p.cs2); p.cs = p.cs2; p.setViewBox(p.cx, p.cy, size.width / p.cs, size.height / p.cs); } return false; }); for (var i = 0; i < 200; i++) { var r = Math.random; p.rect(700 * r(), 500 * r(), 100 * r(), 100 * r()).attr(‘fill‘, ‘#00ffff‘); } });
时间: 2024-10-16 06:18:17