在jquery panzoom js中,增量值在调用destroy时不会被销毁
Having issues with jquery panzoom js, increment value is not destroyed upon calling destroy
我在jquery.panzoom.js工作时遇到了问题
我的要求是点击一个按钮,允许缩放图像几次。我有一个缩放按钮的原因是,我也有一个平移按钮,所以我必须点击它们,在鼠标滚轮上我必须相应地处理平移或缩放。
我的问题是,即使在调用destroy()
方法后,增量参数增加current + previous
增量,这使得变焦增加超过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
});
}
});
检查JQueryUI https://jqueryui.com/draggable/以获得拖动事物的灵活性。你可以在这里试用示例。
用于缩放的最好保留一个标志变量,而不是每次都触发事件。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- Rails——处理多态关联上的Ajax destroy调用
- 在下拉列表上调用“destroy”在jQuery 2.1.3中不起作用
- jQuery DataTables() 返回空数组,destroy() 不能在 undefined 上调用
- Scope $destroy事件在初始化新控制器时调用
- 在jquery panzoom js中,增量值在调用destroy时不会被销毁
- 主干模型没有正确调用destroy回调
- $的作用域.$on work和$destroy被调用
- Backbone model.destroy()调用错误回调函数,即使它工作正常
- 骨干模型.destroy不起作用,但ajax delete调用可以
- 当元素从DOM中移除时,$destroy不会被调用
- 我如何调用tagit("destroy")来删除标签
- 如何在禁用的jquery小部件上调用destroy