2017-02-16 52 views
0

我在尋找absolute screen scale的值。訪問絕對屏幕比例值

例如,當綁定到gestureend事件,就可以訪問到event.scale數據這是1的周圍:

  1. case: scale > 1放大
  2. case: scale < 1縮小

這個數據,而不是絕對的,是相對於事件觸發前的狀態。

例如:

  • 用戶放大到一定程度(比方說)2
  • ,則用戶縮小到一定程度(比方說)1.8。 最後,結果將是視口仍然被縮放,但scale value將是< 1

所以,我的問題是,我怎樣才能訪問absolute zoom scale值?換句話說,如何比較scale value而不是initial scale value

回答

0

我想通了這種方式:

function getCurrentScale() { 
    return document.documentElement.clientWidth/window.innerWidth; 
} 

const INITIAL_SCALE = getCurrentScale(); 
let lastScale = INITIAL_SCALE; 

document.addEventListener('gestureend',() => { 
    let currentScale = getCurrentScale(); 

    console.log("scale", { 
    initial: INITIAL_SCALE, 
    last: lastScale, 
    current: currentScale 
    }); 

    lastScale = currentScale; 
});