0

jQuery UI 1.9 或更高版本似乎在尺寸效果后恢复到原始尺寸。我的示例代码在这里:

http://jsfiddle.net/mQCxY/

$(function () {
    $('.circle').click(function () {
        $(this).effect("size",
            { to: {width: 50,height: 50}, origin: ['bottom', 'right'] },
            1000, function () {
                $(this).css({'background': 'blue' });
        });
    });
});

基本上,如果我选择 jQuery UI 1.8.18(在 jQuery 1.7.2 下),那么形状会缩小到合适的大小并保持在那里。但后来 jQuery UI 会恢复形状。

我还注意到“来源”选项对更高版本的 jQuery UI 无效。例如,我用

origin: ['bottom', 'right']

这对 jQuery UI 1.9 或更高版本没有影响。

那么如何在 jQuery UI 1.8 或更高版本中抑制“恢复”并使“原点”有效?

4

1 回答 1

0

a 做了一个新功能 什么会做你需要做的事情

我从 更改effectanimate,并修改 css top+left 以实现原点功能,请注意默认它转到左上角。前任。

起源 =>['bottom']['bottom','left']

起源 =>与等['right']相同['top','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));
  });
}

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

于 2013-09-24T18:18:57.873 回答