繁体   English   中英

jQuery Resizable:加大调整宽度

[英]jQuery Resizable: doubling the resize width

概要:

如果将可调整大小的元素居中并向左/向右展开,则会产生幻觉,它只会扩展鼠标移动的一半。

原因:

发生这种情况是因为对象居中。

题:

与鼠标移动相比,您如何提高对象调整大小的速度? 对于居中元素,我希望对象扩展两倍于鼠标距离的大小。

给定一个居中的DIV,我能想到的最好的方法是在回调中设置宽度。

     $('#divID').resizable({
            handles       : 'e,w'
          , resize        : function (event,ui){
                               ui.position.left = ui.originalPosition.left;
                               ui.size.width    = ( ui.size.width
                                                  - ui.originalSize.width )*2
                                                  + ui.originalSize.width;
                            }
     });

以上只是计算最终宽度和原始宽度之间的差异,然后乘以2,然后将其加到原始宽度。

我不确定这是最好的方法。 因为宽度在对象上设置两次,所以我不喜欢它。 我认为更好的方法是接受某种( xRateX-Step )和( yRateY-Step )选项,并将其包含在jQuery函数的_mouseDrag:部分中。

要做到这一点,没有编辑jQuery,我想我必须创建一个插件来覆盖可调整大小的_mouseDrag函数。

我会接受更好的答案! :)

我不知道你如何集中你的可调整大小,但这个测试用例适合我。

在它的核心我做了一些类似于vol7ron的东西,但是我使用了一个较少的任务并且计算更具可读性:D只是开玩笑选择你喜欢的更适合你的东西

ui.size.width += ui.size.width - ui.originalSize.width;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM