以鼠标位置为中心的图片滚动放大缩小

 1  //以鼠标位置为中心的图片滚动放大缩小
 2 $(document).on("mousewheel","#mask img",function(ev){
 3     var oImg = this;
 4     var ev = event || window.event;//返回WheelEvent
 5     ev.preventDefault();
 6     var delta = ev.detail ? ev.detail > 0 : ev.wheelDelta < 0;
 7     var ratioL = (ev.clientX - oImg.offsetLeft) / oImg.offsetWidth,
 8         ratioT = (ev.clientY - oImg.offsetTop) / oImg.offsetHeight,
 9         ratioDelta = !delta ? 1 + 0.1 : 1 - 0.1,
10         w = parseInt(oImg.offsetWidth * ratioDelta),
11         h = parseInt(oImg.offsetHeight * ratioDelta),
12         l = Math.round(ev.clientX - (w * ratioL)),
13         t = Math.round(ev.clientY - (h * ratioT));
14         with(oImg.style) {
15             width = w +'px';
16             height = h +'px';
17             left = l +'px';
18             top = t +'px';
19         }
20 });

废话不多说,相信程序员看了都知道怎么用。

posted @ 2017-03-30 17:01  女程序猿  阅读(3299)  评论(0编辑  收藏  举报