JS:以数学方式减小事件侦听器内部的缩放值

JS: mathematically decrease zoom value inside event-listener

本文关键字:内部 侦听器 缩放 小事件 方式减 JS      更新时间:2023-09-26

我正在这样做:

$(document).ready(function() {
    var dom = document.body,
        fs = 16,
        min = 16,
        max = 100,
        scale;
    dom.addEventListener("gesturechange", gestureChange, false);
    function gestureChange(e) {
        e.preventDefault();
        scale = e.scale;
        fs = Math.round(fs*scale);
        if ( fs <= max && fs >= min )
            $('#element').css('width', fs+'px');
        if ( fs > max ) fs = max;
        if ( fs < min ) fs = min;
    }
});

因此,当我在iPhone上做捏/缩放手势时,#element的宽度会增加。 fs是它正在增加的价值。然而,现在缩放和增加的速度太快了。因此,只要我在屏幕上稍微移动手指,宽度的增加就会相当大。

想知道我如何以及是否可以将 fs 值"乘以"(或其他什么)一定数量,以便整个体验变慢?我只是希望我的缩放速度慢一点。

对此有什么想法吗?

只需将您自己的比例因子应用于整个缩放计算:

var myScale = 5; // Test which value is best suited for your needs
fs = Math.round(fs*(scale/myScale));