| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
n6xb
10年前发布

Raphaël 鼠标拖动,滚轮缩放js代码

$(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');      }  });