在JavaScript中捕捉到网格



我正在寻找一个javascript函数,该函数使用均匀间隔的网格计算网格值。

现在我有了下面的代码,它作为一个基本的解决方案很好,但现在我只需要它在捕捉位置的2px范围内进行捕捉,例如使用30px的间隔网格和2px的限制,它将在0px和2px之间、28px和32px之间、58px和62px之间进行捕捉,等等。

snapToGrip = function(val,gridSize){
    return gridSize * Math.round(val/gridSize);
};

非常感谢

您是否考虑过使用jquery UI?可拖动实用程序允许捕捉。

如果您真的需要实现它,当你不应该崩溃。

snapToGrip = function(val,gridSize){
    var snap_candidate = gridSize * Math.floor(val/gridSize);
    if (val-snap_candidate < 2) {
        return snap_candidate;
    }
    else {
        return null;
    }
};

要在两侧捕捉:

snapToGrip = function(val,gridSize){
    var snap_candidate = gridSize * Math.round(val/gridSize);
    if (Math.abs(val-snap_candidate) < 2) {
        return snap_candidate;
    }
    else {
        return null;
    }
};

相关内容

  • 没有找到相关文章

最新更新