我的要求是单击一个按钮以允许对图像进行多次缩放。我有一个缩放按钮的原因是,我也有一个平移按钮,所以我必须点击它们,在鼠标滚轮上我必须相应地处理平移或缩放。
我的问题是,即使在调用destroy()
method 之后, increment 参数也会增加current + previous
increment ,这使得缩放增加超过 0.1,尽管每次都设置了该参数。
它增加如下:
transform : matrix(0.1, 0, 0, 0.1, 0, 0)
transform : matrix(0.2, 0, 0, 0.2, 0, 0)
再次单击缩放按钮后,
transform : matrix(0.4, 0, 0, 0.4, 0, 0)
transform : matrix(0.6, 0, 0, 0.6, 0, 0)
再次单击缩放按钮后,
transform : matrix(0.9, 0, 0, 0.9, 0, 0)
transform : matrix(1.2, 0, 0, 1.2, 0, 0)
我知道最直接的问题是我为什么要一次又一次地点击它们?答案将是因为我需要对图像进行一些其他操作,例如添加矩形或圆形等。
我的代码:
$section.panzoom("destroy");
$section.panzoom(
{
disablePan: disablePan,
increment: 0.1,
minScale: 0.1,
maxScale: 50,
$reset: $("#resetImg")
});
$section.on('mousewheel', function( e ) {
e.preventDefault();
var delta = e.delta || e.originalEvent.wheelDelta;
var zoomOut = delta ? delta < 0 : e.originalEvent.deltaY > 0;
if(UIConstants.zoomActivated == true) {
$section.panzoom('zoom', zoomOut, {
increment: 0.1,
animate: false,
focal: e
});
} else {
$section.panzoom('zoom', zoomOut, {
increment: 0.1,
animate: false,
focal: e
});
}
});