Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQueryUI1.9或更高版本中,如何抑制大小效应后的恢复?_Jquery_Css_Jquery Ui - Fatal编程技术网

在jQueryUI1.9或更高版本中,如何抑制大小效应后的恢复?

在jQueryUI1.9或更高版本中,如何抑制大小效应后的恢复?,jquery,css,jquery-ui,Jquery,Css,Jquery Ui,似乎jQueryUI1.9或更高版本在大小效应后恢复到原始大小。我的示例代码如下: 基本上,如果我选择jQueryUI1.8.18(在jQuery1.7.2下),那么形状将收缩到合适的大小并保持不变。但是稍后jQueryUI将恢复该形状 我还注意到,“origin”选项对于更高的jqueryui没有效果。例如,我使用 origin: ['bottom', 'right'] 这对jQueryUI1.9或更高版本没有影响 那么,如何在jQuery UI 1.8或更高版本中抑制“还原”并使“源代码

似乎jQueryUI1.9或更高版本在大小效应后恢复到原始大小。我的示例代码如下:

基本上,如果我选择jQueryUI1.8.18(在jQuery1.7.2下),那么形状将收缩到合适的大小并保持不变。但是稍后jQueryUI将恢复该形状

我还注意到,“origin”选项对于更高的jqueryui没有效果。例如,我使用

origin: ['bottom', 'right']
这对jQueryUI1.9或更高版本没有影响


那么,如何在jQuery UI 1.8或更高版本中抑制“还原”并使“源代码”生效呢?

a创建了一个新函数,它可以完成您需要的功能

我从
effect
更改为
animate
,并修改css top+left以实现原始功能, 请注意,默认设置为左上角。 前

原点=>
['bottom']
['bottom','left']

原点=>
['right']
['top','right']
等等


只需向参数添加验证,或者根据需要更改回调。

为什么要使用
效果
而不是
动画
?您应该看到这个函数的声音:作为一种效果。允许使用
效果
反弹、旋转和淡入元素,但不会永久更改它们。因此,请使用
动画制作
。请不要将代码作为答案。为什么这能解决问题?这就是我尝试的方式。我想知道做这项工作是否有任何选择。还有,起源呢?我上面的评论怎么样?斯莱文,你的评论是有效的,我想用动画来代替。但是我喜欢使用已经存在的东西,比如老的jqueryui大小效应。但是仍然不明白为什么效果会有这么大的差异。因为
效果
不符合您的需要(或者说它的目的不同),但是
动画
确实:)并且
动画
已经存在了,因为您正在使用jQuery。
origin: ['bottom', 'right']
function size(object,to, origin, duration, callback){
    var leftResult = '+=0';
    var topResult = '+=0';
    if (origin != null && origin.length != 0){
        if ($.inArray('right', origin) >= 0){
            leftResult= '+='+to.width;
        }
        if ($.inArray('bottom', origin) >= 0){
            topResult= '+='+to.height;
        }
    }
    $(object).animate({
        height: to.height,
        width: to.width,
        left: leftResult,
        top: topResult
  }, duration, function() {
    if (typeof callback == "function") callback($(object));
  });
}