在iPhone的删除模式下应用程序抖动的算法

algorithm for app shaking in iphone's delete mode

本文关键字:应用程序 抖动 算法 模式 iPhone 删除      更新时间:2023-09-26

有没有人知道是否有一种开源算法可以操纵对象的(x,y)坐标,类似于iPhone在主屏幕上的删除模式,所有应用程序图标都在摇晃?我们试图使用 javascript/jquery 来模拟这一点,所以我们更喜欢 js 算法,但我想如果这个算法已经被开发出来,但用另一种语言,移植起来并不难。

我不记得iPhone在删除模式下的抖动是什么样子的,但希望您可以调整以下脚本中的值以满足您的目的。它在元素中提供随机 X/Y 移动,前提是该元素具有类shaking

function randomRange(lowerRange, upperRange) {
    return Math.floor(Math.random() * (upperRange - lowerRange + 1)) + lowerRange;
}
function shakeElement(elem) {
    if ($.data($(elem)[0], "pos") === undefined) {
        $.data($(elem)[0], "pos", {
            top: $(elem).position().top,
            left: $(elem).position().left
        });
    }
    if($(elem).hasClass("shaking")) {
        $(elem).animate({
            top: $.data($(elem)[0], "pos").top + randomRange(-8, 8),
            left: $.data($(elem)[0], "pos").left + randomRange(-8, 8)
        }, 100, function() {
            shakeElement(this);
        });
    }
}
$(".shaking").each(function() {
    shakeElement(this);
});

这是一个适合您的工作 jsFiddle 演示。 ​