3
我想將轉換原點更改爲捏合手勢的中心點。Javascript,css:將轉換起點更改爲gesturechange中心點
該工作代碼(safariDevSample)適用縮放和旋轉不改變transform-origin
:
window.angle = 0; //global to store data for later reset ....
var newAngle;
window.scale = 1;
var newScale;
function saveChanges() {
window.angle = newAngle;
window.scale = newScale;
}
function getAngleAndScale(e) {
// Don't zoom or rotate the whole screen
e.preventDefault();
newAngle = window.angle + e.rotation;
newScale = window.scale * e.scale;
if (newScale < 1) newScale = 1; //prepend to scale smaller then parent
// Combine scale and rotation into a single transform
var tString = "rotate(" + newAngle + "deg) scale(" + newScale + ")";
document.getElementById("theImg").style.webkitTransform = tString;
}
function init() {
document.getElementById("theImg").addEventListener("gesturechange", getAngleAndScale, false);
document.getElementById("theImg").addEventListener("gestureend", saveChanges, false);
}
init();
我試着使用touchstart
和gesturestart screenX screenY
額外的事件監聽器,但沒有成功。
,這並不爲我工作:( –